Freigeben über


XML-Ausgabeformatierung mit "XmlTextWriter"

Die Formatierung der XML-Ausgabe mit dem XmlTextWriter umfasst mehrere Eigenschaften, die zusammen die Ausgabe eines Dokuments steuern.

Die Formatierung der XML-Ausgabe mit dem XmlTextWriter umfasst mehrere Eigenschaften, die zusammen die Ausgabe eines Dokuments steuern. Die Eigenschaften für die Ausgabeformatierung lauten:

  • Formatierung

  • IndentChar

  • Indentation

  • QuoteChar

Formatieren der Ausgabe

Die Formatting-Eigenschaft hat die gültigen Werte None und Indented, wobei None der Standardwert ist. Ist None der ausgewählte Wert, werden die IndentChar-Eigenschaft und die Indentation-Eigenschaft ignoriert, und es erfolgt keine Formatierung. Ist für die Formatting-Eigenschaft Indented festgelegt, überprüft die Anwendung in der Indentation-Eigenschaft, wie viele IndentChars für jede Hierarchieebene geschrieben werden sollen, und IndentChars gibt dann an, welches Zeichen für die Einzüge verwendet werden soll. Ist für die Formatting-Eigenschaft Indented festgelegt, werden für Indentation standardmäßig zwei IndentChars für jede Hierarchieebene geschrieben, und der Standardwert für IndentChars ist ein Leerzeichen. Wenn Formatting auf Indented festgelegt ist, werden die untergeordneten Elemente gemäß den Werten für Indentation und IndentChar eingerückt. Die Art der vom XmlTextWriter festgelegten Einzüge hängt vom Knotentyp ab. Die Indentation-Eigenschaft wird auf folgende Knoten angewendet:

  • DocumentType

  • Element

  • Comment

  • ProcessingInstruction

  • CDATASection

Für alle anderen Knotentypen ist die Indentation-Eigenschaft nicht wirksam, und es werden für diese Knotentypen auch keine Einzüge festgelegt.

Die interne Teilmenge der DTD (Document Type Definition) hat keine Einzüge oder Formatierungen. Dies kann jedoch, wie im folgenden Beispiel gezeigt, geändert werden. Im Codebeispiel wird eine Formatierung für die interne Teilmenge der DTD durchgeführt.

String name = "Employees";
String pubid = null;
String sysid = null;
String subset = @"
    <!ELEMENT Employees (Employee)+>
    <!ELEMENT Employee EMPTY>
    <!ATTLIST Employee firstname CDATA #REQUIRED>
    <!ENTITY Company 'Microsoft'>]>
";
XmlTextWriter tw = new XmlTextWriter(Console.Out);
tw.WriteDocType(name, pubid, sysid, subset);

Die QuoteChar-Eigenschaft bestimmt, welches Zeichen als Anführungszeichen für Attributwerte verwendet wird. Gültige Werte sind:

  • Einfaches Anführungszeichen (&#39;)

  • Doppeltes Anführungszeichen (&#34;)

Der Standardwert für QuoteChar ist das doppelte Anführungszeichen (&#34;).

Beispiel

Im folgenden Beispiel wird ein XML-Fragment geschrieben, wobei für die Formatting-Eigenschaft Indented, für die Einzugsebene der Wert 4 und für das Einzugszeichen ein Leerzeichen (Standardeinstellung) festgelegt wird.

Option Explicit
Option Strict

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        'Create a writer to write XML to the console.
        Dim writer As XmlTextWriter = Nothing
        writer = New XmlTextWriter(Console.Out)
        
        'Use indentation for readability.
        writer.Formatting = Formatting.Indented
        writer.Indentation = 4
        
        'Write an element (this one is the root).
        writer.WriteStartElement("book")
        
        'Write the title element.
        writer.WriteStartElement("title")
        writer.WriteString("Pride And Prejudice")
        writer.WriteEndElement()
        
        'Write the close tag for the root element.
        writer.WriteEndElement()
        
        'Write the XML to file and close the writer.
        writer.Close()
    End Sub 'Main 
End Class 'Sample
using System;
using System.IO;
using System.Xml;

public class Sample
{
  
  public static void Main()
  {
     //Create a writer to write XML to the console.
     XmlTextWriter writer = null;
     writer = new XmlTextWriter (Console.Out);

     //Use indentation for readability.
     writer.Formatting = Formatting.Indented;
     writer.Indentation = 4;
        
     //Write an element (this one is the root).
     writer.WriteStartElement("book");

     //Write the title element.
     writer.WriteStartElement("title");
     writer.WriteString("Pride And Prejudice");
     writer.WriteEndElement();

     //Write the close tag for the root element.
     writer.WriteEndElement();
             
     //Write the XML to file and close the writer.
     writer.Close();  
  }
}

Siehe auch

Weitere Ressourcen

Schreiben von XML mit dem "XmlWriter"