XElement.Save 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
串行化這個項目的基礎 XML 樹狀結構。 輸出可以儲存至檔案、XmlTextWriter、TextWriter或 XmlWriter。 或者,可以停用格式設定(縮排)。
多載
Save(Stream) | |
Save(TextWriter) |
將這個項目串列化為 TextWriter。 |
Save(String) |
將這個專案串行化為檔案。 |
Save(XmlWriter) |
將這個項目串列化為 XmlWriter。 |
Save(Stream, SaveOptions) | |
Save(TextWriter, SaveOptions) |
將這個專案串行化為 TextWriter,選擇性地停用格式設定。 |
Save(String, SaveOptions) |
將這個專案串行化為檔案,選擇性地停用格式設定。 |
Save(Stream)
- 來源:
- XElement.cs
- 來源:
- XElement.cs
- 來源:
- XElement.cs
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)
參數
備註
串行化的 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
將寫入 XElement 的 TextWriter。
範例
下列範例會建立 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)
參數
範例
下列範例會建立 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)
參數
範例
下列範例示範如何將 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
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)
參數
- 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)
參數
- 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 時保留空格符,以及 串行化時保留空格符。