XDocument.Save Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Serialisiert dies XDocument in eine Datei, eine TextWriteroder eine XmlWriter.
Überlädt
| Name | Beschreibung |
|---|---|
| Save(XmlWriter) | |
| Save(Stream) | |
| Save(TextWriter) |
Serialisieren Sie dies XDocument in ein TextWriter. |
| Save(String) |
Serialisieren Sie dies XDocument in eine Datei, und überschreiben Sie ggf. eine vorhandene Datei. |
| Save(Stream, SaveOptions) |
Gibt dies XDocument an den angegebenen Stream, optional das Formatierungsverhalten an. |
| Save(TextWriter, SaveOptions) |
Serialisieren Sie dies XDocument auf eine TextWriter, optional deaktivierung der Formatierung. |
| Save(String, SaveOptions) |
Serialisieren Sie dies XDocument in eine Datei, und deaktivieren Sie optional die Formatierung. |
Save(XmlWriter)
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
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
Beispiele
Das folgende Beispiel zeigt, wie sie ein XDocument Objekt 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>
Weitere Informationen
- WriteTo(XmlWriter)
- Load
- Parse
- Übersicht über LINQ to XML
- Lesen und Schreiben eines codierten Dokuments
Gilt für:
Save(Stream)
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
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
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 beibehalten werden.
Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung, die Save als Parameter verwendet SaveOptions wird. Verwenden Sie die DisableFormatting Option, um nicht eingedängte XML zu speichern. Dadurch schreibt der Writer alle Leerzeichen genau wie in der XML-Struktur dargestellt.
Verwenden Sie OmitDuplicateNamespaces die Option, wenn Sie doppelte Namespacedeklarationen entfernen möchten.
Gilt für:
Save(TextWriter)
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
Serialisieren Sie dies XDocument in ein 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
A TextWriter that the XDocument will be written to.
Beispiele
Das folgende Beispiel erstellt ein XDocument, speichert das Dokument in einem 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
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 beibehalten werden.
Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung, die Save als Parameter verwendet SaveOptions wird. Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.
Weitere Informationen
- WriteTo(XmlWriter)
- Load
- Parse
- Übersicht über LINQ to XML
- Lesen und Schreiben eines codierten Dokuments
Gilt für:
Save(String)
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
Serialisieren Sie dies XDocument in eine Datei, und überschreiben Sie ggf. eine vorhandene Datei.
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, in einer Datei gespeichert und anschließend in der 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 beibehalten werden.
Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung, die Save als Parameter verwendet SaveOptions wird. Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.
Weitere Informationen
- WriteTo(XmlWriter)
- Load
- Parse
- Übersicht über LINQ to XML
- Lesen und Schreiben eines codierten Dokuments
Gilt für:
Save(Stream, SaveOptions)
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
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
- options
- SaveOptions
Ein SaveOptions Wert, der das Formatierungsverhalten angibt.
Hinweise
Standardmäßig ist die options Einstellung auf None. Mit dieser Option werden alle überflüssigen unbedeutenden Leerzeichen entfernt und der entsprechende unbedeutende Leerraum hinzugefügt, sodass der XML-Code ordnungsgemäß eingerückt wird.
Wenn Sie unbeabsichtigte XML-Daten speichern möchten, geben Sie das DisableFormatting Flag für options. Dadurch schreibt der Writer alle Leerzeichen genau wie in der XML-Struktur dargestellt.
Verwenden Sie OmitDuplicateNamespaces die Option, wenn Sie doppelte Namespacedeklarationen entfernen möchten.
Gilt für:
Save(TextWriter, SaveOptions)
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
Serialisieren Sie dies XDocument auf eine TextWriter, optional deaktivierung der Formatierung.
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
The TextWriter to output the XML to.
- options
- SaveOptions
Ein SaveOptions Wert, der 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 darin aufweist, wie erstellt, wird die XML-Datei ohne Einzug beibehalten.
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 unbeabsichtigte XML-Daten speichern möchten, geben Sie das DisableFormatting Flag für options. Dies führt dazu, dass der Writer den gesamten Leerraum genau so schreibt, wie in der XML-Struktur dargestellt.
Wenn Sie eingezogenes XML speichern möchten, geben Sie das DisableFormatting Flag nicht an options. Dadurch werden alle überflüssigen unbedeutenden Leerzeichen entfernt und entsprechende unbedeutende Leerzeichen hinzugefügt, damit der XML-Code ordnungsgemäß eingerückt wird. Dies ist das Standardverhalten und das Verhalten der Überladungen der Save Methoden, die nicht als Parameter verwendet options werden.
Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.
Weitere Informationen
- WriteTo(XmlWriter)
- Load
- Parse
- Übersicht über LINQ to XML
- Lesen und Schreiben eines codierten Dokuments
Gilt für:
Save(String, SaveOptions)
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
- Quelle:
- XDocument.cs
Serialisieren Sie dies XDocument in eine Datei, und deaktivieren Sie optional die Formatierung.
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 Wert, der das Formatierungsverhalten angibt.
Beispiele
Das folgende Beispiel zeigt zwei Verwendungen dieser Methode. Bei der ersten Verwendung bleibt Leerraum erhalten. 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 unbeabsichtigte XML-Daten speichern möchten, geben Sie das DisableFormatting Flag für options. Dies führt dazu, dass der Writer den gesamten Leerraum genau so schreibt, wie in der XML-Struktur dargestellt.
Wenn Sie eingezogenes XML speichern möchten, geben Sie das DisableFormatting Flag nicht an options. Dadurch werden alle überflüssigen unbedeutenden Leerzeichen entfernt und entsprechende unbedeutende Leerzeichen hinzugefügt, damit der XML-Code ordnungsgemäß eingerückt wird. Dies ist das Standardverhalten und das Verhalten der Überladungen der Save Methoden, die nicht als Parameter verwendet options werden.
Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.
Weitere Informationen
- WriteTo(XmlWriter)
- Load
- Parse
- Übersicht über LINQ to XML
- Vorgehensweise: Lesen und Schreiben eines codierten Dokuments