XDocument.Save Metod

Definition

Serialiserar detta XDocument till en fil, en TextWriter, eller en XmlWriter.

Överlagringar

Name Description
Save(XmlWriter)

Serialisera detta XDocument till en XmlWriter.

Save(Stream)

Matar ut detta XDocument till den angivna Stream.

Save(TextWriter)

Serialisera detta XDocument till en TextWriter.

Save(String)

Serialisera detta XDocument till en fil och skriv över en befintlig fil om den finns.

Save(Stream, SaveOptions)

Matar ut detta XDocument till angivet Stream, om du vill ange formateringsbeteende.

Save(TextWriter, SaveOptions)

Serialisera detta XDocument till en TextWriter, om du vill inaktivera formatering.

Save(String, SaveOptions)

Serialisera detta XDocument till en fil, om du vill inaktivera formatering.

Save(XmlWriter)

Serialisera detta XDocument till en 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)

Parametrar

writer
XmlWriter

A XmlWriter som XDocument ska skrivas till.

Exempel

I följande exempel visas hur du sparar en XDocument till en 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())

Det här exemplet genererar följande utdata:

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

Se även

Gäller för

Save(Stream)

Matar ut detta XDocument till den angivna 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)

Parametrar

stream
Stream

Strömmen som ska matas ut XDocument till.

Kommentarer

Den serialiserade XML-koden kommer att dras in. Allt oviktigt tomt utrymme tas bort och ytterligare tomt utrymme läggs till så att XML-koden blir korrekt indragen. Beteendet för den här metoden är att obetydligt tomt utrymme inte bevaras.

Om du vill styra tomt utrymme använder du överlagringen av Save som tar SaveOptions som en parameter. Använd alternativet DisableFormatting för att spara xml-kod som inte har använts. Detta gör att skrivaren skriver alla blanksteg exakt som de visas i XML-trädet.

Använd OmitDuplicateNamespaces alternativet om du vill ta bort duplicerade namnområdesdeklarationer.

Gäller för

Save(TextWriter)

Serialisera detta XDocument till en 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)

Parametrar

textWriter
TextWriter

A TextWriter som XDocument ska skrivas till.

Exempel

I följande exempel skapas ett XDocument, sparar dokumentet till en StringWriteroch skriver sedan ut strängen till konsolen.

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

Det här exemplet genererar följande utdata:

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

Kommentarer

Den serialiserade XML-koden kommer att dras in. Allt oviktigt tomt utrymme tas bort och ytterligare tomt utrymme läggs till så att XML-koden blir korrekt indragen. Beteendet för den här metoden är att obetydligt tomt utrymme inte bevaras.

Om du vill styra tomt utrymme använder du överlagringen av Save som tar SaveOptions som en parameter. Mer information finns i Bevara tomt utrymme vid inläsning eller parsning av XML och Bevara tomt utrymme vid serialisering.

Se även

Gäller för

Save(String)

Serialisera detta XDocument till en fil och skriv över en befintlig fil om den finns.

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

Parametrar

fileName
String

En sträng som innehåller namnet på filen.

Exempel

I följande exempel skapas en XDocument, sparar dokumentet i en fil och skriver sedan ut filen till konsolen.

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

Det här exemplet genererar följande utdata:

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

Kommentarer

Den serialiserade XML-koden kommer att dras in. Allt oviktigt tomt utrymme tas bort och ytterligare tomt utrymme läggs till så att XML-koden blir korrekt indragen. Beteendet för den här metoden är att obetydligt tomt utrymme inte bevaras.

Om du vill styra tomt utrymme använder du överlagringen av Save som tar SaveOptions som en parameter. Mer information finns i Bevara tomt utrymme vid inläsning eller parsning av XML och Bevara tomt utrymme vid serialisering.

Se även

Gäller för

Save(Stream, SaveOptions)

Matar ut detta XDocument till angivet Stream, om du vill ange formateringsbeteende.

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)

Parametrar

stream
Stream

Strömmen som ska matas ut XDocument till.

options
SaveOptions

En SaveOptions som anger formateringsbeteende.

Kommentarer

Som standard options är de inställda på None. Det här alternativet tar bort allt överflödigt tomt utrymme och lägger till lämpligt obetydligt tomt utrymme så att XML:en är korrekt indragen.

Om du vill spara unindented XML anger du DisableFormatting flaggan för options. Detta gör att skrivaren skriver alla blanksteg exakt som de visas i XML-trädet.

Använd OmitDuplicateNamespaces alternativet om du vill ta bort duplicerade namnområdesdeklarationer.

Gäller för

Save(TextWriter, SaveOptions)

Serialisera detta XDocument till en TextWriter, om du vill inaktivera formatering.

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)

Parametrar

textWriter
TextWriter

Att TextWriter mata ut XML till.

options
SaveOptions

En SaveOptions som anger formateringsbeteende.

Exempel

I följande exempel visas två användningsområden för den här metoden. Den första användningen serialiserar XDocument med formatering. Den andra bevarar tomt utrymme. Eftersom dokumentet inte har något tomt utrymme i det som konstruerats utdata XML-koden utan indrag.

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

Det här exemplet genererar följande utdata:

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

Kommentarer

Om du vill spara unindented XML anger du DisableFormatting flaggan för options. Detta gör att skrivaren skriver allt tomt utrymme exakt som det representeras i XML-trädet.

Om du vill spara indragad XML anger du DisableFormatting inte flaggan för options. Detta tar bort allt överflödigt oviktigt tomt utrymme och lägger till lämpligt obetydligt tomt utrymme så att XML:en är korrekt indragen. Det här är standardbeteendet och beteendet för överlagringarna av de Save metoder som inte tar options som en parameter.

Mer information finns i Bevara tomt utrymme vid inläsning eller parsning av XML och Bevara tomt utrymme vid serialisering.

Se även

Gäller för

Save(String, SaveOptions)

Serialisera detta XDocument till en fil, om du vill inaktivera formatering.

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)

Parametrar

fileName
String

En sträng som innehåller namnet på filen.

options
SaveOptions

En SaveOptions som anger formateringsbeteende.

Exempel

I följande exempel visas två användningsområden för den här metoden. Den första användningen bevarar tomt utrymme. Den andra serialiserar XDocument med indrag.

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

Det här exemplet genererar följande utdata:

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

Kommentarer

Om du vill spara unindented XML anger du DisableFormatting flaggan för options. Detta gör att skrivaren skriver allt tomt utrymme exakt som det representeras i XML-trädet.

Om du vill spara indragad XML anger du DisableFormatting inte flaggan för options. Detta tar bort allt överflödigt oviktigt tomt utrymme och lägger till lämpligt obetydligt tomt utrymme så att XML:en är korrekt indragen. Det här är standardbeteendet och beteendet för överlagringarna av de Save metoder som inte tar options som en parameter.

Mer information finns i Bevara tomt utrymme vid inläsning eller parsning av XML och Bevara tomt utrymme vid serialisering.

Se även

Gäller för