共用方式為


XElement.Save 方法

定義

串行化這個項目的基礎 XML 樹狀結構。 輸出可以儲存至檔案、XmlTextWriterTextWriterXmlWriter。 或者,可以停用格式設定(縮排)。

多載

Save(Stream)

將這個 XElement 輸出至指定的 Stream

Save(TextWriter)

將這個項目串列化為 TextWriter

Save(String)

將這個專案串行化為檔案。

Save(XmlWriter)

將這個項目串列化為 XmlWriter

Save(Stream, SaveOptions)

將這個 XElement 輸出至指定的 Stream,選擇性地指定格式設定行為。

Save(TextWriter, SaveOptions)

將這個專案串行化為 TextWriter,選擇性地停用格式設定。

Save(String, SaveOptions)

將這個專案串行化為檔案,選擇性地停用格式設定。

Save(Stream)

來源:
XElement.cs
來源:
XElement.cs
來源:
XElement.cs

將這個 XElement 輸出至指定的 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)

參數

stream
Stream

要輸出此 XElement 的數據流。

備註

串行化的 XML 將會縮排。 將會移除所有微不足道的空格符,並新增額外的空格符,以便適當縮排 XML。 此方法的行為是不會保留微不足道的空格符。

如果您想要控制空格符,請使用採用 SaveOptions 做為參數的 Save 多載。 使用 [DisableFormatting] 選項來儲存未輸入的 XML。 這會導致寫入器寫入所有空格符,完全如 XML 樹狀結構中所表示。

如果您想要移除重複的命名空間宣告,請使用 [OmitDuplicateNamespaces] 選項。

適用於

Save(TextWriter)

來源:
XElement.cs
來源:
XElement.cs
來源:
XElement.cs

將這個項目串列化為 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)

參數

textWriter
TextWriter

將寫入 XElementTextWriter

範例

下列範例會建立 XElement,將檔儲存至 StringWriter,然後將字串列印至控制台。

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

此範例會產生下列輸出:

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

備註

串行化的 XML 將會縮排。 將會移除所有微不足道的空格符,並新增額外的空格符,以便適當縮排 XML。 此方法的行為是不會保留空格符。

如果您想要控制空格符,請使用可讓您將 SaveOptions 指定為參數的 Save 多載。 如需詳細資訊,請參閱 在載入或剖析 XML 時保留空格符,以及 串行化時保留空格符。

另請參閱

適用於

Save(String)

來源:
XElement.cs
來源:
XElement.cs
來源:
XElement.cs

將這個專案串行化為檔案。

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

參數

fileName
String

包含檔名的 String

範例

下列範例會建立 XElement,將檔儲存至檔案,然後將檔案列印至主控台。

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)

此範例會產生下列輸出:

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

備註

串行化的 XML 將會縮排。 將會移除所有微不足道的空格符,並新增額外的空格符,以便適當縮排 XML。 此方法的行為是不會保留 XML 樹狀結構中微不足道的空格符節點。

如果您想要控制空格符,請使用可讓您將 SaveOptions 指定為參數的 Save 多載。 如需詳細資訊,請參閱 在載入或剖析 XML 時保留空格符,以及 串行化時保留空格符。

另請參閱

適用於

Save(XmlWriter)

來源:
XElement.cs
來源:
XElement.cs
來源:
XElement.cs

將這個項目串列化為 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)

參數

writer
XmlWriter

將寫入 XElementXmlWriter

範例

下列範例示範如何將 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())

此範例會產生下列輸出:

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

另請參閱

適用於

Save(Stream, SaveOptions)

來源:
XElement.cs
來源:
XElement.cs
來源:
XElement.cs

將這個 XElement 輸出至指定的 Stream,選擇性地指定格式設定行為。

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)

參數

stream
Stream

要輸出此 XElement 的數據流。

options
SaveOptions

指定格式化行為的 SaveOptions 物件。

備註

根據預設,options 會設定為 None。 此選項會移除所有無關緊要的空格符,並新增適當的微不足道空格符,讓 XML 正確縮排。

如果您想要儲存未輸入的 XML,請為 options指定 DisableFormatting 旗標。 這會導致寫入器寫入所有空格符,完全如 XML 樹狀結構中所表示。

如果您想要移除重複的命名空間宣告,請使用 OmitDuplicateNamespaces 選項。

適用於

Save(TextWriter, SaveOptions)

來源:
XElement.cs
來源:
XElement.cs
來源:
XElement.cs

將這個專案串行化為 TextWriter,選擇性地停用格式設定。

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)

參數

textWriter
TextWriter

要輸出 XML 的 TextWriter

options
SaveOptions

指定格式化行為的 SaveOptions

範例

下列範例顯示此方法的兩個用法。 第一個用法會保留空格符。 第二個會使用格式串行化 XElement。 由於檔中沒有建構的空格符,因此保留空格符會輸出 XML,而不會有任何縮排。

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

此範例會產生下列輸出:

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

備註

如果您想要儲存未輸入的 XML,請為 options指定 DisableFormatting 旗標。 這會導致寫入器寫入所有空格符,完全如 XML 樹狀結構中所表示。

如果您想要儲存縮排 XML,請勿為 options指定 DisableFormatting 旗標。 這會移除所有無關的微不足道空格符,並新增適當的微不足道空格符,讓 XML 正確縮排。 這是預設行為,以及不接受 options 做為參數之 Save 方法的多載行為。

如需詳細資訊,請參閱 在載入或剖析 XML 時保留空格符,以及 串行化時保留空格符。

另請參閱

適用於

Save(String, SaveOptions)

來源:
XElement.cs
來源:
XElement.cs
來源:
XElement.cs

將這個專案串行化為檔案,選擇性地停用格式設定。

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)

參數

fileName
String

包含檔名的 String

options
SaveOptions

指定格式化行為的 SaveOptions

範例

下列範例顯示此方法的兩個用法。 第一個用法會保留空格符。 第二個會使用格式串行化 XElement

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)

此範例會產生下列輸出:

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

備註

如果您想要儲存未輸入的 XML,請為 options指定 DisableFormatting 旗標。 這會導致寫入器寫入所有空格符,完全如 XML 樹狀結構中所表示。

如果您想要儲存縮排 XML,請勿為 options指定 DisableFormatting 旗標。 這會移除所有無關的微不足道空格符,並新增適當的微不足道空格符,讓 XML 正確縮排。 這是預設行為,以及不接受 options 做為參數之 Save 方法的多載行為。

如需詳細資訊,請參閱 在載入或剖析 XML 時保留空格符,以及 串行化時保留空格符。

另請參閱

適用於