XElement.Save Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Serializuj bazowe drzewo XML tego elementu. Dane wyjściowe można zapisać w pliku, obiekcie XmlTextWriter, TextWriterlub .XmlWriter Opcjonalnie formatowanie (wcięcie) można wyłączyć.
Przeciążenia
Save(Stream) | |
Save(TextWriter) |
Serializuj ten element do elementu TextWriter. |
Save(String) |
Serializuj ten element do pliku. |
Save(XmlWriter) |
Serializuj ten element do elementu XmlWriter. |
Save(Stream, SaveOptions) |
Zwraca tę XElement wartość 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)
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
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ł poprawnie wcięty. Zachowanie tej metody polega na tym, że nieistotne odstępy nie zostaną zachowane.
Jeśli chcesz kontrolować białe znaki, 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)
Serializuj ten element do elementu 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 element 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ł poprawnie wcięty. Zachowanie tej metody polega na tym, że odstępy nie zostaną zachowane.
Jeśli chcesz kontrolować białe odstępy, użyj przeciążenia Save , które umożliwia określenie SaveOptions jako parametru. Aby uzyskać więcej informacji, zobacz Zachowywanie białych znaków podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.
Zobacz też
Dotyczy
Save(String)
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
Przykłady
Poniższy przykład tworzy plik XElement, zapisuje dokument w pliku, a następnie drukuje plik 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ł poprawnie wcięty. Zachowanie tej metody polega na tym, że nieistotne białe węzły w drzewie XML nie zostaną zachowane.
Jeśli chcesz kontrolować białe odstępy, użyj przeciążenia Save , które umożliwia określenie SaveOptions jako parametru. Aby uzyskać więcej informacji, zobacz Zachowywanie białych znaków podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.
Zobacz też
Dotyczy
Save(XmlWriter)
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
Przykłady
W poniższym przykładzie pokazano, jak zapisać element w XElement 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)
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
- options
- SaveOptions
SaveOptions Obiekt, który określa zachowanie formatowania.
Uwagi
Domyślnie ustawiono options
wartość None. Ta opcja spowoduje usunięcie wszystkich niepotrzebnych 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)
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
Element , TextWriter aby wyświetlić kod XML.
- 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łe znaki. Druga serializuje XElement element z formatowaniem. Ze względu na to, że dokument nie ma w nim białego odstępu, zachowując białe znaki wyjściowe XML bez żadnego 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ęcie XML, nie określ flagi DisableFormatting dla options
elementu . Spowoduje to usunięcie wszystkich niepotrzebnych nieistotnych białych znaków i dodanie odpowiedniego nieistotnego odstępu, tak aby kod XML był poprawnie wcięty. Jest to domyślne zachowanie i zachowanie przeciążeń Save metod, które nie przyjmują options
jako parametru.
Aby uzyskać więcej informacji, zobacz Zachowywanie białych znaków podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.
Zobacz też
Dotyczy
Save(String, SaveOptions)
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
- 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łe znaki. Druga serializuje XElement element 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ęcie XML, nie określ flagi DisableFormatting dla options
elementu . Spowoduje to usunięcie wszystkich niepotrzebnych nieistotnych białych znaków i dodanie odpowiedniego nieistotnego odstępu, tak aby kod XML był poprawnie wcięty. Jest to domyślne zachowanie i zachowanie przeciążeń Save metod, które nie przyjmują options
jako parametru.
Aby uzyskać więcej informacji, zobacz Zachowywanie białych znaków podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.