Freigeben über


XElement.Save Methode

Definition

Serialisiert die zugrunde liegende XML-Struktur dieses Elements. Die Ausgabe kann in einer Datei, einem XmlTextWriter, einem TextWriter oder einem XmlWriter gespeichert werden. Die Formatierung (Einzug) kann optional deaktiviert werden.

Überlädt

Save(Stream)

Gibt diesen XElement an den angegebenen Stream aus.

Save(TextWriter)

Serialisiert dieses Element in einem TextWriter.

Save(String)

Serialisiert dieses Element in eine Datei.

Save(XmlWriter)

Serialisiert dieses Element in einem XmlWriter.

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

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

Save(String, SaveOptions)

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

Save(Stream)

Gibt diesen XElement 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 XElement ausgegeben werden soll.

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 . Verwenden Sie die DisableFormatting Option zum Speichern unbeabsichtigter XML-Dateien. Dadurch wird der Writer dazu führen, dass alle Leerzeichen genau wie in der XML-Struktur dargestellt geschrieben werden.

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

Gilt für

Save(TextWriter)

Serialisiert dieses Element in einem 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 XElement geschrieben wird.

Beispiele

Das folgende Beispiel erstellt ein XElement, speichert das Dokument in einer 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 Leerzeichen 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.

Siehe auch

Gilt für

Save(String)

Serialisiert 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

fileName
String

Ein String, der den Namen der Datei enthält.

Beispiele

Im folgenden Beispiel wird ein XElementDokument erstellt, das Dokument in einer Datei gespeichert und dann die Datei in die 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 Leerzeichen 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.

Siehe auch

Gilt für

Save(XmlWriter)

Serialisiert dieses Element in einem 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 XElement geschrieben wird.

Beispiele

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());  
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>  

Siehe auch

Gilt für

Save(Stream, SaveOptions)

Gibt dieses XElement 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 XElement ausgegeben werden soll.

options
SaveOptions

Ein SaveOptions-Objekt, das das Formatierungsverhalten angibt.

Hinweise

Standardmäßig ist die options Einstellung auf None". Diese Option entfernt alle unbedeutenden leeren Leerzeichen, und fügen Sie den entsprechenden unbedeutenden Leerraum hinzu, sodass die XML ordnungsgemäß eingerückt ist.

Wenn Sie unzustellbare XML speichern möchten, geben Sie das DisableFormatting Flag für options. 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, SaveOptions)

Serialisiert dieses Element 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

Im folgenden Beispiel werden zwei Verwendungen dieser Methode gezeigt. Die erste Verwendung behält Leerzeichen bei. Die zweite serialisiert die XElement Formatierung. Da das Dokument kein Leerzeichen enthält, wie erstellt, gibt das XML-Leerzeichen ohne Einzug aus.

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 unzustellbare XML speichern möchten, geben Sie das DisableFormatting Flag für options. Dadurch wird der Autor dazu führen, dass alle Leerzeichen genau wie in der XML-Struktur dargestellt werden.

Wenn Sie eingezogenes XML speichern möchten, geben Sie nicht das DisableFormatting Flag für options. Dadurch werden alle unbedeutenden leeren Leerzeichen entfernt, und fügen Sie entsprechende unbedeutende Leerzeichen hinzu, sodass die XML ordnungsgemäß eingerückt ist. 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 Leerzeichens beim Laden oder Analysieren von XML und Beibehalten des Leerzeichens beim Serialisieren.

Siehe auch

Gilt für

Save(String, SaveOptions)

Serialisiert dieses Element 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

Ein String, der den Namen der Datei enthält.

options
SaveOptions

Ein SaveOptions, das Formatierungsverhalten angibt.

Beispiele

Im folgenden Beispiel werden zwei Verwendungen dieser Methode gezeigt. Die erste Verwendung behält Leerzeichen bei. 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 unzustellbare XML speichern möchten, geben Sie das DisableFormatting Flag für options. Dadurch wird der Autor dazu führen, dass alle Leerzeichen genau wie in der XML-Struktur dargestellt werden.

Wenn Sie eingezogenes XML speichern möchten, geben Sie nicht das DisableFormatting Flag für options. Dadurch werden alle unbedeutenden leeren Leerzeichen entfernt, und fügen Sie entsprechende unbedeutende Leerzeichen hinzu, sodass die XML ordnungsgemäß eingerückt ist. 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 Leerzeichens beim Laden oder Analysieren von XML und Beibehalten des Leerzeichens beim Serialisieren.

Siehe auch

Gilt für