Serialisieren mit einer XML-Deklaration (C#)

In diesem Thema wird beschrieben, wie Sie steuern können, ob die Serialisierung eine XML-Deklaration generiert.

Generierung einer XML-Deklaration

Beim Serialisieren in ein File- oder TextWriter-Objekt führt die Verwendung der XElement.Save- oder XDocument.Save-Methode zur Generierung einer XML-Deklaration. Beim Serialisieren in einen XmlWriter bestimmen die (in einem XmlWriterSettings-Objekt angegebenen) Writer-Einstellungen, ob eine XML-Deklaration generiert wird.

Bei der Serialisierung in eine Zeichenfolge mit der ToString-Methode enthält der resultierende XML-Code keine XML-Deklaration.

Serialisieren mit einer XML-Deklaration

Das folgende Beispiel erstellt ein XElement, speichert das Dokument in einer Datei und gibt die Datei dann auf der Konsole aus:

XElement root = new XElement("Root",  
    new XElement("Child", "child content")  
);  
root.Save("Root.xml");  
string str = File.ReadAllText("Root.xml");  
Console.WriteLine(str);  

Dieses Beispiel erzeugt die folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>child content</Child>  
</Root>  

Serialisieren ohne eine XML-Deklaration

Das folgende Beispiel zeigt die Vorgehensweise beim Speichern eines XElement in einem XmlWriter.

StringBuilder sb = new StringBuilder();  
XmlWriterSettings xws = new XmlWriterSettings();  
xws.OmitXmlDeclaration = true;  

using (XmlWriter xw = XmlWriter.Create(sb, xws)) {  
    XElement root = new XElement("Root",  
        new XElement("Child", "child content")  
    );  
    root.Save(xw);  
}  
Console.WriteLine(sb.ToString());  

Dieses Beispiel erzeugt die folgende Ausgabe:

<Root><Child>child content</Child></Root>  

Siehe auch

Serialisieren von XML-Strukturen (C#)