Freigeben über


XElement.Save Methode

Definition

Serialisieren Sie die zugrunde liegende XML-Struktur dieses Elements. Die Ausgabe kann in einer Datei, einer XmlTextWriter, einem TextWriteroder einer XmlWritergespeichert werden. Optional kann die Formatierung (Einzug) deaktiviert werden.

Überlädt

Save(Stream)

Gibt diese XElement an die angegebene Streamaus.

Save(TextWriter)

Serialisieren Sie dieses Element in eine TextWriter.

Save(String)

Serialisieren Sie dieses Element in eine Datei.

Save(XmlWriter)

Serialisieren Sie dieses Element in eine XmlWriter.

Save(Stream, SaveOptions)

Gibt diese XElement an die angegebene Streamaus, optional wird das Formatierungsverhalten angegeben.

Save(TextWriter, SaveOptions)

Serialisieren Sie dieses Element auf eine TextWriter, optional wird die Formatierung deaktiviert.

Save(String, SaveOptions)

Serialisieren Sie dieses Element in eine Datei, und deaktivieren Sie optional die Formatierung.

Save(Stream)

Quelle:
XElement.cs
Quelle:
XElement.cs
Quelle:
XElement.cs

Gibt diese XElement an die angegebene Streamaus.

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 Datenstrom, an den diese 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 beibehalten werden.

Wenn Sie Leerraum steuern möchten, verwenden Sie die Überladung von Save, die SaveOptions als Parameter akzeptiert. Verwenden Sie die Option DisableFormatting, um unbeabsichtigte XML-Daten zu speichern. Dadurch schreibt der Writer alle Leerzeichen genau wie in der XML-Struktur dargestellt.

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

Gilt für:

Save(TextWriter)

Quelle:
XElement.cs
Quelle:
XElement.cs
Quelle:
XElement.cs

Serialisieren Sie dieses Element in eine 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

Eine TextWriter, in die die XElement geschrieben wird.

Beispiele

Im folgenden Beispiel wird ein XElementerstellt, das Dokument in einem StringWritergespeichert und anschließend die Zeichenfolge in der Konsole gedruckt.

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

In diesem Beispiel wird die folgende Ausgabe erzeugt:

<?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 von Save, mit der Sie SaveOptions als Parameter angeben können. Weitere Informationen finden Sie unter Beibehalten von Leerraum beim Laden oder Analysieren von XML- und Beibehalten von Leerraum beim Serialisieren.

Weitere Informationen

Gilt für:

Save(String)

Quelle:
XElement.cs
Quelle:
XElement.cs
Quelle:
XElement.cs

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

fileName
String

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

Beispiele

Im folgenden Beispiel wird ein XElementerstellt, das Dokument 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)

In diesem Beispiel wird die folgende Ausgabe erzeugt:

<?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 von Save, mit der Sie SaveOptions als Parameter angeben können. Weitere Informationen finden Sie unter Beibehalten von Leerraum beim Laden oder Analysieren von XML- und Beibehalten von Leerraum beim Serialisieren.

Weitere Informationen

Gilt für:

Save(XmlWriter)

Quelle:
XElement.cs
Quelle:
XElement.cs
Quelle:
XElement.cs

Serialisieren Sie dieses Element in eine 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

Eine XmlWriter, in die die XElement geschrieben wird.

Beispiele

Das folgende Beispiel zeigt, wie Sie eine XElement in einem XmlWriterspeichern.

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

In diesem Beispiel wird die folgende Ausgabe erzeugt:

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

Weitere Informationen

Gilt für:

Save(Stream, SaveOptions)

Quelle:
XElement.cs
Quelle:
XElement.cs
Quelle:
XElement.cs

Gibt diese XElement an die angegebene Streamaus, optional wird das Formatierungsverhalten angegeben.

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 Datenstrom, an den diese XElement ausgegeben werden soll.

options
SaveOptions

Ein SaveOptions-Objekt, das das Formatierungsverhalten angibt.

Hinweise

Standardmäßig sind die options auf Nonefestgelegt. 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 optionsan. Dadurch schreibt der Writer alle Leerzeichen genau wie in der XML-Struktur dargestellt.

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

Gilt für:

Save(TextWriter, SaveOptions)

Quelle:
XElement.cs
Quelle:
XElement.cs
Quelle:
XElement.cs

Serialisieren Sie dieses Element auf eine TextWriter, optional wird die Formatierung deaktiviert.

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, in den der XML-Code ausgegeben werden soll.

options
SaveOptions

Eine SaveOptions, die das Formatierungsverhalten angibt.

Beispiele

Das folgende Beispiel zeigt zwei Verwendungen dieser Methode. Bei der ersten Verwendung bleibt Leerraum erhalten. Die zweite serialisiert die XElement mit 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

In diesem Beispiel wird die folgende Ausgabe erzeugt:

<?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 optionsan. 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 für optionsnicht an. 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 options als Parameter verwenden.

Weitere Informationen finden Sie unter Beibehalten von Leerraum beim Laden oder Analysieren von XML- und Beibehalten von Leerraum beim Serialisieren.

Weitere Informationen

Gilt für:

Save(String, SaveOptions)

Quelle:
XElement.cs
Quelle:
XElement.cs
Quelle:
XElement.cs

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

fileName
String

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

options
SaveOptions

Eine SaveOptions, die das Formatierungsverhalten angibt.

Beispiele

Das folgende Beispiel zeigt zwei Verwendungen dieser Methode. Bei der ersten Verwendung bleibt Leerraum erhalten. Die zweite serialisiert die XElement mit 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)

In diesem Beispiel wird die folgende Ausgabe erzeugt:

<?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 optionsan. 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 für optionsnicht an. 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 options als Parameter verwenden.

Weitere Informationen finden Sie unter Beibehalten von Leerraum beim Laden oder Analysieren von XML- und Beibehalten von Leerraum beim Serialisieren.

Weitere Informationen

Gilt für: