Sdílet prostřednictvím


XElement.Save Metoda

Definice

Serializace základního stromu XML tohoto prvku Výstup lze uložit do souboru, souboru XmlTextWriter, a , TextWriternebo XmlWriter. Volitelně je možné formátování (odsazení) zakázat.

Přetížení

Save(Stream)

Výstupem je XElement zadaný Stream.

Save(TextWriter)

Serializace tohoto prvku na TextWriter.

Save(String)

Serializovat tento prvek do souboru.

Save(XmlWriter)

Serializace tohoto prvku na XmlWriter.

Save(Stream, SaveOptions)

Vypíše tento XElement údaj do zadaného Stream, volitelně specifikuje chování formátování.

Save(TextWriter, SaveOptions)

Serializace tohoto prvku na TextWriter, volitelné zakázání formátování.

Save(String, SaveOptions)

Serializovat tento prvek do souboru, volitelně zakázání formátování.

Save(Stream)

Výstupem je XElement 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 XElement 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.

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

Platí pro

Save(TextWriter)

Serializace tohoto prvku 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 XElement bude napsané.

Příklady

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

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  

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

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child> Text </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 nezachovají prázdné znaky.

Pokud chcete řídit prázdné místo, použijte přetížení Save , které vám umožní zadat 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)

Serializovat tento prvek do souboru.

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

A String obsahující název souboru.

Příklady

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

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)  

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

<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>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 nezachovají nevýznamné prázdné uzly ve stromu XML.

Pokud chcete řídit prázdné místo, použijte přetížení Save , které vám umožní zadat 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(XmlWriter)

Serializace tohoto prvku 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 XElement bude napsané.

Příklady

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

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

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

Viz také

Platí pro

Save(Stream, SaveOptions)

Vypíše tento XElement údaj do zadaného Stream, volitelně specifikuje 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, do který se má výstup XElement provést.

options
SaveOptions

Objekt SaveOptions , který určuje 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 xml bylo správně odsazeno.

Chcete-li uložit jednondented XML, zadejte DisableFormatting příznak pro options. To způsobí, že zapisovač zapíše všechny prázdné znaky 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)

Serializace tohoto prvku 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

A SaveOptions , která určuje 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é znaky. Druhý serializuje XElement formátování. Vzhledem k tomu, že dokument neobsahuje žádné prázdné znaky při vytváření, zachová se prázdný výstup XML bez odsazení.

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  

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

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

Poznámky

Chcete-li uložit jednondented XML, zadejte DisableFormatting příznak pro options. To způsobí, že zapisovač zapíše 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řidají 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)

Serializovat tento prvek 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

A String , který obsahuje název souboru.

options
SaveOptions

A SaveOptions , která určuje 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é znaky. Druhý serializuje XElement s formátováním.

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)  

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

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

Poznámky

Chcete-li uložit jednondented XML, zadejte DisableFormatting příznak pro options. To způsobí, že zapisovač zapíše 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řidají 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