Serialisieren mit einer XML-Deklaration (C#)Serializing with an XML Declaration (C#)

In diesem Thema wird beschrieben, wie Sie steuern können, ob die Serialisierung eine XML-Deklaration generiert.This topic describes how to control whether serialization generates an XML declaration.

Generierung einer XML-DeklarationXML Declaration Generation

Beim Serialisieren in ein File- oder TextWriter-Objekt führt die Verwendung der XElement.Save- oder XDocument.Save-Methode zur Generierung einer XML-Deklaration.Serializing to a File or a TextWriter using the XElement.Save method or the XDocument.Save method generates an XML declaration. Beim Serialisieren in einen XmlWriter bestimmen die (in einem XmlWriterSettings-Objekt angegebenen) Writer-Einstellungen, ob eine XML-Deklaration generiert wird.When you serialize to an XmlWriter, the writer settings (specified in an XmlWriterSettings object) determine whether an XML declaration is generated or not.

Bei der Serialisierung in eine Zeichenfolge mit der ToString-Methode enthält der resultierende XML-Code keine XML-Deklaration.If you are serializing to a string using the ToString method, the resulting XML will not include an XML declaration.

Serialisieren mit einer XML-DeklarationSerializing with an XML Declaration

Das folgende Beispiel erstellt ein XElement, speichert das Dokument in einer Datei und gibt die Datei dann auf der Konsole aus:The following example creates an XElement, saves the document to a file, and then prints the file to the console:

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:This example produces the following output:

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

Serialisieren ohne eine XML-DeklarationSerializing without an XML Declaration

Das folgende Beispiel zeigt die Vorgehensweise beim Speichern eines XElement in einem XmlWriter.The following example shows how to save an XElement to an 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:This example produces the following output:

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

Siehe auchSee Also

Serialisieren von XML-Strukturen (C#)Serializing XML Trees (C#)