XElement.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.
Serialisieren Sie die zugrunde liegende XML-Struktur dieses Elements. Die Ausgabe kann in einer Datei, einem , einem XmlTextWriter, einem TextWriteroder einem XmlWriter. Optional kann die Formatierung (Einzug) deaktiviert werden.
Überlädt
| Name | Beschreibung |
|---|---|
| Save(Stream) | |
| Save(TextWriter) |
Serialisieren Sie dieses Element in ein TextWriter. |
| Save(String) |
Serialisieren Sie dieses Element in eine Datei. |
| Save(XmlWriter) |
Serialisieren Sie dieses Element in ein XmlWriter. |
| Save(Stream, SaveOptions) |
Gibt dies XElement an den angegebenen Stream, optional das Formatierungsverhalten an. |
| Save(TextWriter, SaveOptions) |
Serialisieren Sie dieses Element auf eine TextWriterformatierungsbedingte Deaktivierung. |
| Save(String, SaveOptions) |
Serialisieren Sie dieses Element in eine Datei, und deaktivieren Sie optional die Formatierung. |
Save(Stream)
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 die OmitDuplicateNamespaces Option, wenn Sie doppelte Namespacedeklarationen entfernen möchten.
Gilt für:
Save(TextWriter)
Serialisieren Sie dieses Element 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 XElement will be written to.
Beispiele
Das folgende Beispiel erstellt ein XElement, speichert das Dokument in einem StringWriter, und druckt dann die Zeichenfolge in der Konsole.
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");
using (StringWriter sw = new StringWriter()) {
root.Save(sw);
Console.WriteLine(sw.ToString());
}
Dim root As XElement = <Root><Child> Text </Child></Root>
Using sw = New StringWriter()
root.Save(sw)
Console.WriteLine(sw.ToString())
End Using
Dieses Beispiel erzeugt die folgende Ausgabe:
<?xml version="1.0" encoding="utf-16"?>
<Root>
<Child> Text </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 Leerzeichen nicht beibehalten werden.
Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung Save , mit der Sie als Parameter angeben SaveOptions können. Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.
Weitere Informationen
Gilt für:
Save(String)
Serialisieren Sie dieses Element in eine Datei.
public:
void Save(System::String ^ fileName);
public void Save(string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)
Parameter
Beispiele
Im folgenden Beispiel wird ein XElementDokument erstellt, in einer Datei gespeichert und anschließend in der Konsole gedruckt.
XElement root = new XElement("Root",
new XElement("Child", "child content")
);
root.Save("Root.xml");
string str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Dim root As XElement = _
<Root>
<Child>child content</Child>
</Root>
root.Save("Root.xml")
Dim Str As String = 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>
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 Leerraumknoten in der XML-Struktur nicht beibehalten werden.
Wenn Sie den Leerraum steuern möchten, verwenden Sie die Überladung Save , mit der Sie als Parameter angeben SaveOptions können. Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.
Weitere Informationen
Gilt für:
Save(XmlWriter)
Serialisieren Sie dieses Element in ein 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
Beispiele
Das folgende Beispiel zeigt, wie sie ein XElement Objekt 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());
Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
Using xw = XmlWriter.Create(sb, xws)
Dim root As XElement = <Root>
<Child>child content</Child>
</Root>
root.Save(xw)
End Using
Console.WriteLine(sb.ToString())
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root><Child>child content</Child></Root>
Weitere Informationen
Gilt für:
Save(Stream, SaveOptions)
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 Objekt, das 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)
Serialisieren Sie dieses Element auf eine TextWriterformatierungsbedingte Deaktivierung.
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. Bei der ersten Verwendung bleibt Leerraum erhalten. Die zweite serialisiert die XElement Formatierung. Da das Dokument keinen Leerraum darin aufweist, wie erstellt, wird die XML-Datei ohne Einzug beibehalten.
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");
using (StringWriter sw = new StringWriter())
{
root.Save(sw, SaveOptions.DisableFormatting);
Console.WriteLine(sw.ToString());
}
Console.WriteLine("=====");
using (StringWriter sw = new StringWriter())
{
root.Save(sw, SaveOptions.None);
Console.WriteLine(sw.ToString());
}
Dim root As XElement = <Root><Child> Text </Child></Root>
Using sw = New StringWriter()
root.Save(sw, SaveOptions.DisableFormatting)
Console.WriteLine(sw.ToString())
End Using
Console.WriteLine("=====")
Using sw = New StringWriter()
root.Save(sw, SaveOptions.None)
Console.WriteLine(sw.ToString())
End Using
Dieses Beispiel erzeugt die folgende Ausgabe:
<?xml version="1.0" encoding="utf-16"?><Root><Child> Text </Child></Root>
=====
<?xml version="1.0" encoding="utf-16"?>
<Root>
<Child> Text </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
Gilt für:
Save(String, SaveOptions)
Serialisieren Sie dieses Element 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
- 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 die XElement Formatierung.
string str;
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");
root.Save("Root.xml", SaveOptions.DisableFormatting);
str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Console.WriteLine("=====");
root.Save("Root.xml", SaveOptions.None);
str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Dim str As String
Dim root As XElement = <Root><Child> Text </Child></Root>
root.Save("Root.xml", SaveOptions.DisableFormatting)
str = File.ReadAllText("Root.xml")
Console.WriteLine(str)
Console.WriteLine("=====")
root.Save("Root.xml", SaveOptions.None)
str = File.ReadAllText("Root.xml")
Console.WriteLine(str)
Dieses Beispiel erzeugt die folgende Ausgabe:
<?xml version="1.0" encoding="utf-8"?><Root><Child> Text </Child></Root>
=====
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child> Text </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.