Język

XElement.Save Metoda

Definicja

Serializuj bazowe drzewo XML tego elementu. Dane wyjściowe można zapisać w pliku , XmlTextWriter, lub TextWriterXmlWriter. Opcjonalnie można wyłączyć formatowanie (wcięcia).

Przeciążenia

Nazwa Opis
Save(Stream)

Zwraca to XElement do określonego Streamelementu .

Save(TextWriter)

Serializuj ten element na TextWriter.

Save(String)

Serializuj ten element do pliku.

Save(XmlWriter)

Serializuj ten element do elementu XmlWriter.

Save(Stream, SaveOptions)

Zwraca to XElement do określonego Streamelementu , opcjonalnie określając zachowanie formatowania.

Save(TextWriter, SaveOptions)

Serializuj ten element na TextWriterwartość , opcjonalnie wyłączając formatowanie.

Save(String, SaveOptions)

Serializuj ten element do pliku, opcjonalnie wyłączając formatowanie.

Save(Stream)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Zwraca to XElement do określonego Streamelementu .

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

Strumień do danych wyjściowych XElement .

Uwagi

Serializowany kod XML zostanie wcięty. Wszystkie nieistotne białe znaki zostaną usunięte, a dodatkowe białe znaki zostaną dodane tak, aby kod XML został prawidłowo wcięty. Zachowanie tej metody polega na tym, że nie będzie zachowywane nieistotne białe znaki.

Jeśli chcesz kontrolować biały znak, użyj przeciążenia Save , które przyjmuje SaveOptions jako parametr. DisableFormatting Użyj opcji , aby zapisać niezidentyfikowany kod XML. Spowoduje to zapisanie wszystkich białych spacji dokładnie tak, jak pokazano w drzewie XML.

OmitDuplicateNamespaces Użyj opcji , jeśli chcesz usunąć zduplikowane deklaracje przestrzeni nazw.

Dotyczy

Save(TextWriter)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Serializuj ten element 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

Element TextWriter , do którego XElement zostanie zapisany.

Przykłady

Poniższy przykład tworzy plik XElement, zapisuje dokument w obiekcie StringWriter, a następnie drukuje ciąg w konsoli programu .

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:

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

Uwagi

Serializowany kod XML zostanie wcięty. Wszystkie nieistotne białe znaki zostaną usunięte, a dodatkowe białe znaki zostaną dodane tak, aby kod XML został prawidłowo wcięty. Zachowanie tej metody polega na tym, że białe znaki nie zostaną zachowane.

Jeśli chcesz kontrolować biały znak, użyj przeciążenia Save , które pozwala określić SaveOptions jako parametr. Aby uzyskać więcej informacji, zobacz Zachowywanie odstępu podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.

Zobacz też

Dotyczy

Save(String)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Serializuj ten element do pliku.

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

Element String zawierający nazwę pliku.

Przykłady

Poniższy przykład tworzy plik XElement, zapisuje dokument w pliku, a następnie drukuje go w konsoli programu .

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:

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

Uwagi

Serializowany kod XML zostanie wcięty. Wszystkie nieistotne białe znaki zostaną usunięte, a dodatkowe białe znaki zostaną dodane tak, aby kod XML został prawidłowo wcięty. Zachowanie tej metody polega na tym, że nieistotne węzły odstępu w drzewie XML nie zostaną zachowane.

Jeśli chcesz kontrolować biały znak, użyj przeciążenia Save , które pozwala określić SaveOptions jako parametr. Aby uzyskać więcej informacji, zobacz Zachowywanie odstępu podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.

Zobacz też

Dotyczy

Save(XmlWriter)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Serializuj ten element do elementu 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

Element XmlWriter , do którego XElement zostanie zapisany.

Przykłady

W poniższym przykładzie pokazano, jak zapisać element XElement w obiekcie 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:

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

Zobacz też

Dotyczy

Save(Stream, SaveOptions)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Zwraca to XElement do określonego Streamelementu , opcjonalnie określając zachowanie formatowania.

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

Strumień do danych wyjściowych XElement .

options
SaveOptions

SaveOptions Obiekt określający zachowanie formatowania.

Uwagi

Domyślnie parametr ma options wartość None. Ta opcja spowoduje usunięcie wszystkich nadmiarowych nieistotnych białych znaków i dodanie odpowiedniego nieistotnego odstępu, tak aby kod XML był poprawnie wcięty.

Jeśli chcesz zapisać niezidentyfikowany kod XML, określ flagę DisableFormatting .options Spowoduje to zapisanie wszystkich białych spacji dokładnie tak, jak pokazano w drzewie XML.

Użyj OmitDuplicateNamespaces opcji , jeśli chcesz usunąć zduplikowane deklaracje przestrzeni nazw.

Dotyczy

Save(TextWriter, SaveOptions)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Serializuj ten element na TextWriterwartość , opcjonalnie wyłączając formatowanie.

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

W TextWriter celu wyprowadzenia pliku XML do.

options
SaveOptions

Element SaveOptions określający zachowanie formatowania.

Przykłady

W poniższym przykładzie przedstawiono dwa zastosowania tej metody. Pierwsze użycie zachowuje biały znak. Drugi serializuje element XElement z formatowaniem. Ponieważ dokument nie ma w nim odstępu jako skonstruowanego, zachowywanie białych znaków zwraca kod XML bez żadnych wcięcia.

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:

<?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ć niezidentyfikowany kod XML, określ flagę DisableFormatting .options Spowoduje to zapisanie wszystkich białych znaków dokładnie tak, jak pokazano w drzewie XML.

Jeśli chcesz zapisać wcięty kod XML, nie należy określać flagi DisableFormatting dla optionselementu . Spowoduje to usunięcie wszystkich nadmiarowych nieistotnych białych znaków i dodanie odpowiedniego nieistotnego odstępu, tak aby kod XML był prawidłowo wcięty. Jest to zachowanie domyślne i zachowanie przeciążeń Save metod, które nie przyjmują options jako parametru.

Aby uzyskać więcej informacji, zobacz Zachowywanie odstępu podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.

Zobacz też

Dotyczy

Save(String, SaveOptions)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Serializuj ten element do pliku, opcjonalnie wyłączając formatowanie.

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

Element String zawierający nazwę pliku.

options
SaveOptions

Element SaveOptions określający zachowanie formatowania.

Przykłady

W poniższym przykładzie przedstawiono dwa zastosowania tej metody. Pierwsze użycie zachowuje biały znak. Drugi serializuje element XElement z formatowaniem.

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:

<?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ć niezidentyfikowany kod XML, określ flagę DisableFormatting .options Spowoduje to zapisanie wszystkich białych znaków dokładnie tak, jak pokazano w drzewie XML.

Jeśli chcesz zapisać wcięty kod XML, nie należy określać flagi DisableFormatting dla optionselementu . Spowoduje to usunięcie wszystkich nadmiarowych nieistotnych białych znaków i dodanie odpowiedniego nieistotnego odstępu, tak aby kod XML był prawidłowo wcięty. Jest to zachowanie domyślne i zachowanie przeciążeń Save metod, które nie przyjmują options jako parametru.

Aby uzyskać więcej informacji, zobacz Zachowywanie odstępu podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.

Zobacz też

Dotyczy