Sdílet prostřednictvím


XDocument.Save Metoda

Definice

Serializuje to XDocument do souboru, a TextWriter, nebo .XmlWriter

Přetížení

Save(XmlWriter)

Serializovat to XDocument na .XmlWriter

Save(Stream)

Výstupem je XDocument zadaný Stream.

Save(TextWriter)

Serializovat to XDocument na TextWriter.

Save(String)

Serializujte ho XDocument na soubor a přepíšete existující soubor, pokud existuje.

Save(Stream, SaveOptions)

Vypíše toto XDocument do zadaného Stream, volitelně určení chování formátování.

Save(TextWriter, SaveOptions)

Serializujte ho XDocument na TextWriter, volitelně zakázání formátování.

Save(String, SaveOptions)

Serializujte ho XDocument do souboru, volitelně zakázání formátování.

Save(XmlWriter)

Serializovat to XDocument na .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)

Parametry

writer
XmlWriter

A XmlWriter to XDocument bude napsané.

Příklady

Následující příklad ukazuje, jak uložit na XDocument 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())  

Tento příklad vytvoří následující výstup:

<Child>  
  <GrandChild>some content</GrandChild>  
</Child>  

Viz také

Platí pro

Save(Stream)

Výstupem je XDocument zadaný 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)

Parametry

stream
Stream

Datový proud pro výstup tohoto XDocument příkazu.

Poznámky

Serializovaný XML se odsadí. Všechny nevýznamné prázdné znaky se odeberou a přidají se další prázdné znaky, aby se kód XML správně odsadil. Chování této metody spočívá v tom, že se nezachová nevýznamné prázdné místo.

Pokud chcete řídit prázdné místo, použijte přetížení Save , které přebírá SaveOptions jako parametr. DisableFormatting Pomocí možnosti uložte nendented XML. To způsobí, že zapisovač zapisuje všechny prázdné mezery přesně tak, jak je znázorněno ve stromu XML.

Pokud chcete odebrat duplicitní deklarace oboru názvů, použijte OmitDuplicateNamespaces možnost.

Platí pro

Save(TextWriter)

Serializovat to XDocument na 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)

Parametry

textWriter
TextWriter

A TextWriter to XDocument bude napsané.

Příklady

Následující příklad vytvoří XDocument, uloží dokument do StringWritera pak vytiskne řetězec do konzoly.

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

Tento příklad vytvoří následující výstup:

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child>content</Child>  
</Root>  

Poznámky

Serializovaný XML se odsadí. Všechny nevýznamné prázdné znaky se odeberou a přidají se další prázdné znaky, aby se kód XML správně odsadil. Chování této metody spočívá v tom, že se nezachová nevýznamné prázdné místo.

Pokud chcete řídit prázdné místo, použijte přetížení Save , které přebírá SaveOptions jako parametr. Další informace najdete v tématu Zachování prázdného místa při načítání nebo analýze XML a zachování prázdného místa při serializaci.

Viz také

Platí pro

Save(String)

Serializujte ho XDocument na soubor a přepíšete existující soubor, pokud existuje.

public:
 void Save(System::String ^ fileName);
public void Save (string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)

Parametry

fileName
String

Řetězec, který obsahuje název souboru.

Příklady

Následující příklad vytvoří XDocumentsoubor , uloží dokument do souboru a pak soubor vytiskne do konzoly.

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

Tento příklad vytvoří následující výstup:

<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>content</Child>  
</Root>  

Poznámky

Serializovaný XML se odsadí. Všechny nevýznamné prázdné znaky se odeberou a přidají se další prázdné znaky, aby se kód XML správně odsadil. Chování této metody spočívá v tom, že se nezachová nevýznamné prázdné místo.

Pokud chcete řídit prázdné místo, použijte přetížení Save , které přebírá SaveOptions jako parametr. Další informace najdete v tématu Zachování prázdného místa při načítání nebo analýze XML a zachování prázdného místa při serializaci.

Viz také

Platí pro

Save(Stream, SaveOptions)

Vypíše toto XDocument do zadaného Stream, volitelně určení chování formátování.

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)

Parametry

stream
Stream

Datový proud pro výstup tohoto XDocument příkazu.

options
SaveOptions

Určuje SaveOptions chování formátování.

Poznámky

Ve výchozím nastavení jsou nastaveny options na None. Tato možnost odebere všechny nadbytečné nevýznamné prázdné znaky a přidá odpovídající nevýznamné prázdné znaky, aby byl XML správně odsazený.

Pokud chcete uložit nendented XML, zadejte DisableFormatting příznak pro options. To způsobí, že zapisovač zapisuje všechny prázdné mezery přesně tak, jak je znázorněno ve stromu XML.

Pokud chcete odebrat duplicitní deklarace oboru názvů, použijte OmitDuplicateNamespaces možnost.

Platí pro

Save(TextWriter, SaveOptions)

Serializujte ho XDocument na TextWriter, volitelně zakázání formátování.

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)

Parametry

textWriter
TextWriter

Výstup TextWriter XML do.

options
SaveOptions

Určuje SaveOptions chování formátování.

Příklady

Následující příklad ukazuje dvě použití této metody. První použití serializuje XDocument s formátováním. Druhá zachovává prázdné znaky. Vzhledem k tomu, že dokument nemá v něm žádné prázdné znaky, protože při vytváření se zachová prázdné místo, vypíše xml bez odsazení.

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  

Tento příklad vytvoří následující výstup:

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child>content</Child>  
</Root>  
<?xml version="1.0" encoding="utf-16"?><Root><Child>content</Child></Root>  

Poznámky

Pokud chcete uložit nendented XML, zadejte DisableFormatting příznak pro options. To způsobí, že zapisovač zapisuje všechny prázdné znaky přesně tak, jak je znázorněno ve stromu XML.

Pokud chcete uložit odsazený kód XML, nezadávejte DisableFormatting příznak pro options. Tím se odeberou všechny nadbytečné nevýznamné prázdné znaky a přidá se odpovídající nevýznamné prázdné znaky, aby byl XML správně odsazený. Toto je výchozí chování a chování přetížení Save metod, které nepřebírají options jako parametr.

Další informace najdete v tématu Zachování prázdného místa při načítání nebo analýze XML a zachování prázdného místa při serializaci.

Viz také

Platí pro

Save(String, SaveOptions)

Serializujte ho XDocument do souboru, volitelně zakázání formátování.

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)

Parametry

fileName
String

Řetězec, který obsahuje název souboru.

options
SaveOptions

Určuje SaveOptions chování formátování.

Příklady

Následující příklad ukazuje dvě použití této metody. První použití zachovává prázdné místo. Druhý serializuje XDocument odsazení.

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

Tento příklad vytvoří následující výstup:

<?xml version="1.0" encoding="utf-8"?><Root><Child>content</Child></Root>  
<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>content</Child>  
</Root>  

Poznámky

Pokud chcete uložit nendented XML, zadejte DisableFormatting příznak pro options. To způsobí, že zapisovač zapisuje všechny prázdné znaky přesně tak, jak je znázorněno ve stromu XML.

Pokud chcete uložit odsazený kód XML, nezadávejte DisableFormatting příznak pro options. Tím se odeberou všechny nadbytečné nevýznamné prázdné znaky a přidá se odpovídající nevýznamné prázdné znaky, aby byl XML správně odsazený. Toto je výchozí chování a chování přetížení Save metod, které nepřebírají options jako parametr.

Další informace najdete v tématu Zachování prázdného místa při načítání nebo analýze XML a zachování prázdného místa při serializaci.

Viz také

Platí pro