Freigeben über


XDocument.Save Methode

Definition

Serialisiert dieses XDocument in eine Datei, einen TextWriter oder einen XmlWriter.

Überlädt

Save(XmlWriter)

Serialisiert dieses XDocument in einen XmlWriter.

Save(Stream)

Gibt diesen XDocument an den angegebenen Stream aus.

Save(TextWriter)

Serialisiert dieses XDocument in einen TextWriter.

Save(String)

Serialisieren Sie dieses XDocument in eine Datei, und überschreiben Sie dabei eine vorhandene Datei, sofern vorhanden.

Save(Stream, SaveOptions)

Gibt dieses XDocument zum angegebenen Stream aus und gibt Formatierungsverhalten optional an.

Save(TextWriter, SaveOptions)

Serialisiert dieses XDocument in einen TextWriter, wobei optional die Formatierung deaktiviert wird.

Save(String, SaveOptions)

Serialisiert dieses XDocument in eine Datei, wobei optional die Formatierung deaktiviert wird.

Save(XmlWriter)

Serialisiert dieses XDocument in einen XmlWriter.

public:
 void Save(System::Xml::XmlWriter ^ writer);
public void Save (System.Xml.XmlWriter writer);
member this.Save : System.Xml.XmlWriter -> unit
Public Sub Save (writer As XmlWriter)

Parameter

writer
XmlWriter

Ein XmlWriter, in den das XDocument geschrieben wird.

Beispiele

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

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

using (XmlWriter xw = XmlWriter.Create(sb, xws)) {  
    XDocument doc = new XDocument(  
        new XElement("Child",  
            new XElement("GrandChild", "some content")  
        )  
    );  
    doc.Save(xw);  
}  

Console.WriteLine(sb.ToString());  
Dim sb As StringBuilder = New StringBuilder()  
Dim xws As XmlWriterSettings = New XmlWriterSettings()  
xws.OmitXmlDeclaration = True  
xws.Indent = True  

Using xw = XmlWriter.Create(sb, xws)  
    Dim doc As XDocument = New XDocument(<Child><GrandChild>some content</GrandChild></Child>)  
    doc.Save(xw)  

End Using  

Console.WriteLine(sb.ToString())  

Dieses Beispiel erzeugt die folgende Ausgabe:

<Child>  
  <GrandChild>some content</GrandChild>  
</Child>  

Siehe auch

Gilt für

Save(Stream)

Gibt diesen XDocument an den angegebenen Stream aus.

public:
 void Save(System::IO::Stream ^ stream);
public void Save (System.IO.Stream stream);
member this.Save : System.IO.Stream -> unit
Public Sub Save (stream As Stream)

Parameter

stream
Stream

Der Stream, in den dieses XDocument ausgegeben werden soll.

Hinweise

Die serialisierte XML wird eingerückt. Alle unbedeutenden Leerzeichen werden entfernt, und zusätzliche Leerzeichen werden hinzugefügt, damit die XML ordnungsgemäß eingerückt wird. Das Verhalten dieser Methode besteht darin, dass unbedeutende Leerzeichen nicht beibehalten werden.

Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung Save , die als Parameter verwendet SaveOptions wird. Verwenden Sie die DisableFormatting Option zum Speichern ungesicherter XML-Dateien. Dadurch wird der Autor dazu führen, dass alle Leerzeichen genau wie in der XML-Struktur dargestellt werden.

Verwenden Sie OmitDuplicateNamespaces die Option, wenn Sie doppelte Namespacedeklarationen entfernen möchten.

Gilt für

Save(TextWriter)

Serialisiert dieses XDocument in einen TextWriter.

public:
 void Save(System::IO::TextWriter ^ textWriter);
public void Save (System.IO.TextWriter textWriter);
member this.Save : System.IO.TextWriter -> unit
Public Sub Save (textWriter As TextWriter)

Parameter

textWriter
TextWriter

Ein TextWriter, in den das XDocument geschrieben wird.

Beispiele

Das folgende Beispiel erstellt ein XDocument, speichert das Dokument in einer StringWriter, und druckt dann die Zeichenfolge in der Konsole.

StringBuilder sb = new StringBuilder();  

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
TextWriter tr = new StringWriter(sb);  
doc.Save(tr);  
Console.WriteLine(sb.ToString());  
Dim sb As StringBuilder = New StringBuilder()  

Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

Dim tr As TextWriter = New StringWriter(sb)  
doc.Save(tr)  
Console.WriteLine(sb.ToString())  

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Die serialisierte XML wird eingerückt. Alle unbedeutenden Leerzeichen werden entfernt, und zusätzliche Leerzeichen werden hinzugefügt, damit die XML ordnungsgemäß eingerückt wird. Das Verhalten dieser Methode besteht darin, dass unbedeutende Leerzeichen nicht beibehalten werden.

Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung Save , die als Parameter verwendet SaveOptions wird. Weitere Informationen finden Sie unter Beibehalten des Leerzeichens beim Laden oder Analysieren von XML und Beibehalten des Leerzeichens beim Serialisieren.

Siehe auch

Gilt für

Save(String)

Serialisieren Sie dieses XDocument in eine Datei, und überschreiben Sie dabei eine vorhandene Datei, sofern vorhanden.

public:
 void Save(System::String ^ fileName);
public void Save (string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)

Parameter

fileName
String

Eine Zeichenfolge, die den Namen der Datei enthält.

Beispiele

Im folgenden Beispiel wird ein XDocumentDokument erstellt, das Dokument in einer Datei gespeichert und dann die Datei in die Konsole gedruckt.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
doc.Save("Root.xml");  
Console.WriteLine(File.ReadAllText("Root.xml"));  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

doc.Save("Root.xml")  
Console.WriteLine(File.ReadAllText("Root.xml"))  

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Der serialisierte XML-Code wird eingerückt. Alle unbedeutenden Leerzeichen werden entfernt, und zusätzlicher Leerraum wird hinzugefügt, sodass der XML-Code ordnungsgemäß eingerückt wird. Das Verhalten dieser Methode besteht darin, dass unbedeutende Leerzeichen nicht erhalten bleiben.

Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung, Save die als Parameter verwendet wird SaveOptions . Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.

Siehe auch

Gilt für

Save(Stream, SaveOptions)

Gibt dieses XDocument zum angegebenen Stream aus und gibt Formatierungsverhalten optional an.

public:
 void Save(System::IO::Stream ^ stream, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.Stream stream, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.Stream * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (stream As Stream, options As SaveOptions)

Parameter

stream
Stream

Der Stream, in den dieses XDocument ausgegeben werden soll.

options
SaveOptions

Ein SaveOptions, das Formatierungsverhalten angibt.

Hinweise

Standardmäßig ist die options Einstellung auf None. Mit dieser Option werden alle unbedeutenden Leerzeichen entfernt, und es werden unbedeutende Leerzeichen hinzugefügt, sodass der XML-Code ordnungsgemäß eingerückt ist.

Wenn Sie unzustellbare XML speichern möchten, geben Sie das DisableFormatting Flag für options. Dadurch wird der Writer dazu führen, dass alle Leerzeichen genau wie in der XML-Struktur dargestellt geschrieben werden.

Verwenden Sie OmitDuplicateNamespaces die Option, wenn Sie doppelte Namespacedeklarationen entfernen möchten.

Gilt für

Save(TextWriter, SaveOptions)

Serialisiert dieses XDocument in einen TextWriter, wobei optional die Formatierung deaktiviert wird.

public:
 void Save(System::IO::TextWriter ^ textWriter, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.TextWriter textWriter, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.TextWriter * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (textWriter As TextWriter, options As SaveOptions)

Parameter

textWriter
TextWriter

Der TextWriter, an den das XML ausgegeben werden soll.

options
SaveOptions

Ein SaveOptions, das Formatierungsverhalten angibt.

Beispiele

Das folgende Beispiel zeigt zwei Verwendungen dieser Methode. Die erste Verwendung serialisiert die XDocument Formatierung. Die zweite behält Leerzeichen bei. Da das Dokument keinen Leerraum enthält, wie erstellt, wird der XML-Code beibehalten, ohne dass er eingezogen wird.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
StringBuilder sb1 = new StringBuilder();  
using (StringWriter sr1 = new StringWriter(sb1)) {  
    doc.Save(sr1, SaveOptions.None);  
    Console.WriteLine(sb1.ToString());  
}  

StringBuilder sb2 = new StringBuilder();  
using (StringWriter sr2 = new StringWriter(sb2)) {  
    doc.Save(sr2, SaveOptions.DisableFormatting);  
    Console.WriteLine(sb2.ToString());  
}  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

Dim sb1 As StringBuilder = New StringBuilder()  

Using sr1 = New StringWriter(sb1)  
    doc.Save(sr1, SaveOptions.None)  
    Console.WriteLine(sb1.ToString())  
End Using  

Dim sb2 As StringBuilder = New StringBuilder()  

Using sr2 = New StringWriter(sb2)  
    doc.Save(sr2, SaveOptions.DisableFormatting)  
    Console.WriteLine(sb2.ToString())  
End Using  

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Wenn Sie unzustellbare XML speichern möchten, geben Sie das DisableFormatting Flag für options. Dadurch wird der Writer dazu führen, dass alle Leerzeichen genau wie in der XML-Struktur dargestellt geschrieben werden.

Wenn Sie eingezogenes XML speichern möchten, geben Sie das DisableFormatting Kennzeichen für options. Dadurch werden alle unbedeutenden Leerzeichen entfernt, und es werden unbedeutende Leerzeichen hinzugefügt, sodass der XML-Code ordnungsgemäß eingerückt ist. Dies ist das Standardverhalten und das Verhalten der Überladungen der Save Methoden, die nicht als Parameter verwendet werden options .

Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.

Siehe auch

Gilt für

Save(String, SaveOptions)

Serialisiert dieses XDocument in eine Datei, wobei optional die Formatierung deaktiviert wird.

public:
 void Save(System::String ^ fileName, System::Xml::Linq::SaveOptions options);
public void Save (string fileName, System.Xml.Linq.SaveOptions options);
member this.Save : string * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (fileName As String, options As SaveOptions)

Parameter

fileName
String

Eine Zeichenfolge, die den Namen der Datei enthält.

options
SaveOptions

Ein SaveOptions, das Formatierungsverhalten angibt.

Beispiele

Das folgende Beispiel zeigt zwei Verwendungen dieser Methode. Die erste Verwendung behält Leerzeichen bei. Die zweite serialisiert den XDocument Einzug.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
doc.Save("Root1.xml", SaveOptions.DisableFormatting);  
Console.WriteLine(File.ReadAllText("Root1.xml"));  
doc.Save("Root2.xml", SaveOptions.None);  
Console.WriteLine(File.ReadAllText("Root2.xml"));  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

doc.Save("Root1.xml", SaveOptions.DisableFormatting)  
Console.WriteLine(File.ReadAllText("Root1.xml"))  
doc.Save("Root2.xml", SaveOptions.None)  
Console.WriteLine(File.ReadAllText("Root2.xml"))  

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Wenn Sie unzustellbare XML speichern möchten, geben Sie das DisableFormatting Flag für options. Dadurch wird der Writer dazu führen, dass alle Leerzeichen genau wie in der XML-Struktur dargestellt geschrieben werden.

Wenn Sie eingezogenes XML speichern möchten, geben Sie das DisableFormatting Kennzeichen für options. Dadurch werden alle unbedeutenden Leerzeichen entfernt, und es werden unbedeutende Leerzeichen hinzugefügt, sodass der XML-Code ordnungsgemäß eingerückt ist. Dies ist das Standardverhalten und das Verhalten der Überladungen der Save Methoden, die nicht als Parameter verwendet werden options .

Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.

Siehe auch

Gilt für