XElement.Save Metoda

Definicja

Serializacja bazowego drzewa XML tego elementu.Serialize this element's underlying XML tree. Dane wyjściowe można zapisać w pliku, XmlTextWriter, a TextWriterlub XmlWriter.The output can be saved to a file, an XmlTextWriter, a TextWriter, or an XmlWriter. Opcjonalnie można wyłączyć formatowanie (wcięcie).Optionally, formatting (indenting) can be disabled.

Przeciążenia

Save(Stream)

Wyprowadza ten XElement wynik do określonego Stream.Outputs this XElement to the specified Stream.

Save(TextWriter)

Serializacja tego elementu do TextWriter.Serialize this element to a TextWriter.

Save(String)

Serializacja tego elementu do pliku.Serialize this element to a file.

Save(XmlWriter)

Serializacja tego elementu do XmlWriter.Serialize this element to an XmlWriter.

Save(Stream, SaveOptions)

Wyprowadza ten XElement wynik do określonego Stream, opcjonalnie określając zachowanie formatowania.Outputs this XElement to the specified Stream, optionally specifying formatting behavior.

Save(TextWriter, SaveOptions)

Serializacja tego elementu do TextWriter, opcjonalnie wyłączenie formatowania.Serialize this element to a TextWriter, optionally disabling formatting.

Save(String, SaveOptions)

Serializacja tego elementu do pliku, opcjonalnie wyłączenie formatowania.Serialize this element to a file, optionally disabling formatting.

Save(Stream)

Wyprowadza ten XElement wynik do określonego Stream.Outputs this XElement to the specified Stream.

public:
 void Save(System::IO::Stream ^ stream);
public void Save (System.IO.Stream stream);
member this.Save : System.IO.Stream -> unit

Parametry

stream
Stream

Strumień do danych wyjściowych XElement .The stream to output this XElement to.

Uwagi

Zostanie wysunięty wcięty kod XML.The serialized XML will be indented. Wszystkie nieznaczący biały znak zostanie usunięty i zostanie dodany dodatkowy odstęp, aby kod XML został prawidłowo wcięty.All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. Zachowanie tej metody polega na tym, że nieznaczący biały znak nie zostanie zachowany.The behavior of this method is that insignificant white space will not be preserved.

Jeśli chcesz sterować białym znakiem, Użyj przeciążenia Save , które przyjmuje SaveOptions jako parametr.If you want to control white space, use the overload of Save that takes SaveOptions as a parameter. DisableFormatting Użyj opcji, aby zapisać w niewciętym formacie XML.Use the DisableFormatting option to save unindented XML. Spowoduje to, że moduł zapisujący zapisze wszystkie białe znaki dokładnie tak, jak reprezentowane w drzewie XML.This will cause the writer to write all white spaces exactly as represented in the XML tree.

Użyj opcji OmitDuplicateNamespaces , jeśli chcesz usunąć zduplikowane deklaracje przestrzeni nazw.Use the OmitDuplicateNamespaces option if you want to remove duplicate namespace declarations.

Save(TextWriter)

Serializacja tego elementu do TextWriter.Serialize this element to a TextWriter.

public:
 void Save(System::IO::TextWriter ^ textWriter);
public void Save (System.IO.TextWriter textWriter);
member this.Save : System.IO.TextWriter -> unit

Parametry

textWriter
TextWriter

, W której zostanie zapisany. XElement TextWriterA TextWriter that the XElement will be written to.

Przykłady

Poniższy przykład tworzy XElement, zapisuje dokument StringWriterw, a następnie drukuje ciąg do konsoli.The following example creates an XElement, saves the document to a StringWriter, and then prints the string to the console.

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  

Ten przykład generuje następujące wyniki:This example produces the following output:

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

Uwagi

Zostanie wysunięty wcięty kod XML.The serialized XML will be indented. Wszystkie nieznaczący biały znak zostanie usunięty i zostanie dodany dodatkowy odstęp, aby kod XML został prawidłowo wcięty.All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. Zachowanie tej metody polega na tym, że biały znak nie zostanie zachowany.The behavior of this method is that white space will not be preserved.

Jeśli chcesz sterować białym znakiem, Użyj przeciążenia Save , które pozwala określić SaveOptions jako parametr.If you want to control white space, use the overload of Save that allows you to specify SaveOptions as a parameter. Aby uzyskać więcej informacji, zobacz zachowywanie białych znaków podczas ładowania lub analizowania kodu XML oraz zachowywania białych znaków podczas serializacji.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Zobacz też

Save(String)

Serializacja tego elementu do pliku.Serialize this element to a file.

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 , który zawiera nazwę pliku.A String that contains the name of the file.

Przykłady

Poniższy przykład tworzy XElement, zapisuje dokument do pliku, a następnie drukuje plik w konsoli programu.The following example creates an XElement, saves the document to a file, and then prints the file to the console.

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)  

Ten przykład generuje następujące wyniki:This example produces the following output:

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

Uwagi

Zostanie wysunięty wcięty kod XML.The serialized XML will be indented. Wszystkie nieznaczący biały znak zostanie usunięty i zostanie dodany dodatkowy odstęp, aby kod XML został prawidłowo wcięty.All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. Zachowanie tej metody polega na tym, że nieznaczące węzły odstępu w drzewie XML nie zostaną zachowane.The behavior of this method is that insignificant white space nodes in the XML tree will not be preserved.

Jeśli chcesz sterować białym znakiem, Użyj przeciążenia Save , które pozwala określić SaveOptions jako parametr.If you want to control white space, use the overload of Save that allows you to specify SaveOptions as a parameter. Aby uzyskać więcej informacji, zobacz zachowywanie białych znaków podczas ładowania lub analizowania kodu XML oraz zachowywania białych znaków podczas serializacji.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Zobacz też

Save(XmlWriter)

Serializacja tego elementu do XmlWriter.Serialize this element to an 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

, W której zostanie zapisany. XElement XmlWriterA XmlWriter that the XElement will be written to.

Przykłady

Poniższy przykład pokazuje, jak zapisać element XElement XmlWriterw.The following example shows how to save an XElement to an 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())  

Ten przykład generuje następujące wyniki:This example produces the following output:

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

Zobacz też

Save(Stream, SaveOptions)

Wyprowadza ten XElement wynik do określonego Stream, opcjonalnie określając zachowanie formatowania.Outputs this XElement to the specified Stream, optionally specifying formatting behavior.

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

Parametry

stream
Stream

Strumień do danych wyjściowych XElement .The stream to output this XElement to.

options
SaveOptions

SaveOptions Obiekt, który określa zachowanie formatowania.A SaveOptions object that specifies formatting behavior.

Uwagi

Domyślnie options ustawione na None.By default the options are set to None. Ta opcja spowoduje usunięcie wszystkich nadmiarowych nieznaczących białych znaków i dodanie odpowiednich nieznaczących białych znaków w celu poprawnego wcięcia kodu XML.This option will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented.

Jeśli chcesz zapisać w niewciętym formacie XML, określ DisableFormatting optionsflagę.If you want to save unindented XML, specify the DisableFormatting flag for options. Spowoduje to, że moduł zapisujący zapisze wszystkie białe znaki dokładnie tak, jak reprezentowane w drzewie XML.This will cause the writer to write all white spaces exactly as represented in the XML tree.

Użyj OmitDuplicateNamespaces opcji, jeśli chcesz usunąć zduplikowane deklaracje przestrzeni nazw.Use OmitDuplicateNamespaces option if you want to remove duplicate namespace declarations.

Save(TextWriter, SaveOptions)

Serializacja tego elementu do TextWriter, opcjonalnie wyłączenie formatowania.Serialize this element to a TextWriter, optionally disabling formatting.

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

Parametry

textWriter
TextWriter

TextWriter Do danych wyjściowych XML.The TextWriter to output the XML to.

options
SaveOptions

A SaveOptions , która określa zachowanie formatowania.A SaveOptions that specifies formatting behavior.

Przykłady

Poniższy przykład przedstawia dwa zastosowania tej metody.The following example shows two uses of this method. Pierwsze użycie zachowuje biały znak.The first use preserves white space. Druga Serializacja XElement z formatowaniem.The second serializes the XElement with formatting. Ze względu na to, że dokument nie zawiera żadnych białych znaków w postaci skonstruowanej, zachowywanie białego miejsca wyprowadza plik XML bez wcięcia.Because the document has no white space in it as constructed, preserving white space outputs the XML without any indenting.

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  

Ten przykład generuje następujące wyniki:This example produces the following output:

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

Uwagi

Jeśli chcesz zapisać w niewciętym formacie XML, określ DisableFormatting optionsflagę.If you want to save unindented XML, specify the DisableFormatting flag for options. Spowoduje to zapisanie całego pustego miejsca w drzewie XML przez składnik zapisywania.This will cause the writer to write all white space exactly as represented in the XML tree.

Jeśli chcesz zapisać plik XML z wcięciem, nie określaj DisableFormatting optionsflagi.If you want to save indented XML, do not specify the DisableFormatting flag for options. Spowoduje to usunięcie wszystkich nadmiarowych nieznaczących białych znaków i dodanie odpowiednich nieznaczących białych znaków w celu poprawnego wcięcia kodu XML.This will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented. Jest to zachowanie domyślne, a zachowanie przeciążenia Save metod, które nie przyjmuje options jako parametru.This is the default behavior, and the behavior of the overloads of the Save methods that do not take options as a parameter.

Aby uzyskać więcej informacji, zobacz zachowywanie białych znaków podczas ładowania lub analizowania kodu XML oraz zachowywania białych znaków podczas serializacji.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Zobacz też

Save(String, SaveOptions)

Serializacja tego elementu do pliku, opcjonalnie wyłączenie formatowania.Serialize this element to a file, optionally disabling formatting.

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 , który zawiera nazwę pliku.A String that contains the name of the file.

options
SaveOptions

A SaveOptions , która określa zachowanie formatowania.A SaveOptions that specifies formatting behavior.

Przykłady

Poniższy przykład przedstawia dwa zastosowania tej metody.The following example shows two uses of this method. Pierwsze użycie zachowuje biały znak.The first use preserves white space. Druga XElement z nich serializacji z formatowaniem.The second one serializes the XElement with formatting.

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)  

Ten przykład generuje następujące wyniki:This example produces the following output:

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

Uwagi

Jeśli chcesz zapisać w niewciętym formacie XML, określ DisableFormatting optionsflagę.If you want to save unindented XML, specify the DisableFormatting flag for options. Spowoduje to zapisanie całego pustego miejsca w drzewie XML przez składnik zapisywania.This will cause the writer to write all white space exactly as represented in the XML tree.

Jeśli chcesz zapisać plik XML z wcięciem, nie określaj DisableFormatting optionsflagi.If you want to save indented XML, do not specify the DisableFormatting flag for options. Spowoduje to usunięcie wszystkich nadmiarowych nieznaczących białych znaków i dodanie odpowiednich nieznaczących białych znaków w celu poprawnego wcięcia kodu XML.This will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented. Jest to zachowanie domyślne, a zachowanie przeciążenia Save metod, które nie przyjmuje options jako parametru.This is the default behavior, and the behavior of the overloads of the Save methods that do not take options as a parameter.

Aby uzyskać więcej informacji, zobacz zachowywanie białych znaków podczas ładowania lub analizowania kodu XML oraz zachowywania białych znaków podczas serializacji.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Zobacz też

Dotyczy