XStreamingElement.Save Methode

Definition

Serialisieren Sie dieses Streamingelement. 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)

Gibt dies XStreamingElement an den angegebenen Wert aus Stream.

Save(TextWriter)

Serialisieren Sie dieses Streamingelement in ein TextWriter.

Save(String)

Serialisieren Sie dieses Streamingelement in eine Datei.

Save(XmlWriter)

Serialisieren Sie dieses Streamingelement in ein XmlWriter.

Save(Stream, SaveOptions)

Gibt dies XStreamingElement an den angegebenen Stream, optional das Formatierungsverhalten an.

Save(TextWriter, SaveOptions)

Serialisieren Sie dieses Streamingelement auf eine TextWriterformatierungsbedingte Deaktivierung.

Save(String, SaveOptions)

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

Save(Stream)

Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs

Gibt dies XStreamingElement an den angegebenen Wert aus 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

stream
Stream

Der Datenstrom, an den dies XDocument 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 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:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs

Serialisieren Sie dieses Streamingelement 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 XStreamingElement will be written to.

Beispiele

Im folgenden Beispiel wird eine XML-Quellstruktur erstellt und anschließend eine Mithilfe einer XStreamingElement Abfrage in der XML-Quellstruktur instanziiert. Anschließend wird das Streamingelement in ein StringWriter.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el >= 3
                        select new XElement("DifferentChild", (int)el)
                    );

StringBuilder sb = new StringBuilder();
dstTree.Save(new StringWriter(sb));
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value >= 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

Dim sb As StringBuilder = New StringBuilder()
dstTree.Save(New StringWriter(sb))
Console.WriteLine(sb.ToString())

Dieses Beispiel erzeugt die folgende Ausgabe:

<?xml version="1.0" encoding="utf-16"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
  <DifferentChild>4</DifferentChild>
  <DifferentChild>5</DifferentChild>
</NewRoot>

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 eine der Überladungen, die Save als Parameter verwendet SaveOptions 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)

Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs

Serialisieren Sie dieses Streamingelement 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

A String , das den Namen der Datei enthält.

Beispiele

Im folgenden Beispiel wird eine XML-Streamingstruktur erstellt. Anschließend serialisiert sie die XML-Streamingstruktur in eine Datei.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el >= 3
                        select new XElement("DifferentChild", (int)el)
                    );

dstTree.Save("Test.xml");
Console.WriteLine(File.ReadAllText("Test.xml"));
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value >= 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

dstTree.Save("Test.xml")
Console.WriteLine(File.ReadAllText("Test.xml"))

Dieses Beispiel erzeugt die folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
  <DifferentChild>4</DifferentChild>
  <DifferentChild>5</DifferentChild>
</NewRoot>

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 eine der Überladungen, die Save als Parameter verwendet SaveOptions 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(XmlWriter)

Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs

Serialisieren Sie dieses Streamingelement 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

writer
XmlWriter

A XmlWriter that the XElement will be written to.

Beispiele

Im folgenden Beispiel wird ein XStreamingElement Objekt erstellt und in ein XmlWriter.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
using (XmlWriter xw = XmlWriter.Create(sb, xws))
{
    XStreamingElement dstTree = new XStreamingElement("NewRoot",
                            from el in srcTree.Elements()
                            where (int)el == 5
                            select new XElement("DifferentChild", (int)el)
                        );

    dstTree.Save(xw);
}
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
Using xw As XmlWriter = XmlWriter.Create(sb, xws)
    Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                            From el In srcTree.Elements() _
                            Where el.Value = 5 _
                            Select <DifferentChild><%= el.Value %></DifferentChild> _
                        )
    dstTree.Save(xw)
End Using
Console.WriteLine(sb.ToString())

Dieses Beispiel erzeugt die folgende Ausgabe:

<NewRoot><DifferentChild>5</DifferentChild></NewRoot>

Weitere Informationen

Gilt für:

Save(Stream, SaveOptions)

Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs

Gibt dies XStreamingElement an den angegebenen Stream, optional das Formatierungsverhalten 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 Datenstrom, an den dies XDocument ausgegeben werden soll.

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)

Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs

Serialisieren Sie dieses Streamingelement 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 XStreamingElement Formatierung.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el == 3
                        select new XElement("DifferentChild", (int)el)
                    );

StringBuilder sb = new StringBuilder();
dstTree.Save(new StringWriter(sb), SaveOptions.DisableFormatting);
Console.WriteLine(sb.ToString());
Console.WriteLine("------");
sb = new StringBuilder();
dstTree.Save(new StringWriter(sb), SaveOptions.None);
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value = 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

Dim sb As StringBuilder = New StringBuilder()
dstTree.Save(New StringWriter(sb), SaveOptions.DisableFormatting)
Console.WriteLine(sb.ToString())
Console.WriteLine("------")
sb = New StringBuilder()
dstTree.Save(New StringWriter(sb), SaveOptions.None)
Console.WriteLine(sb.ToString())

Dieses Beispiel erzeugt die folgende Ausgabe:

<?xml version="1.0" encoding="utf-16"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>
------
<?xml version="1.0" encoding="utf-16"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
</NewRoot>

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)

Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs
Quelle:
XStreamingElement.cs

Serialisieren Sie dieses Streamingelement 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

A String , das den Namen der Datei enthält.

options
SaveOptions

Ein SaveOptions Objekt, das das Formatierungsverhalten angibt.

Beispiele

Das folgende Beispiel zeigt zwei Verwendungen dieser Methode. Bei der ersten Verwendung bleibt Leerraum erhalten. Die zweite serialisiert die XStreamingElement Formatierung.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el == 3
                        select new XElement("DifferentChild", (int)el)
                    );

dstTree.Save("Test1.xml", SaveOptions.DisableFormatting);
dstTree.Save("Test2.xml", SaveOptions.None);
Console.WriteLine(File.ReadAllText("Test1.xml"));
Console.WriteLine("------");
Console.WriteLine(File.ReadAllText("Test2.xml"));
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value = 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

dstTree.Save("Test1.xml", SaveOptions.DisableFormatting)
dstTree.Save("Test2.xml", SaveOptions.None)
Console.WriteLine(File.ReadAllText("Test1.xml"))
Console.WriteLine("------")
Console.WriteLine(File.ReadAllText("Test2.xml"))

Dieses Beispiel erzeugt die folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>
------
<?xml version="1.0" encoding="utf-8"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
</NewRoot>

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: