XElement.Save 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
序列化這個元素底層的 XML 樹。 輸出可以儲存為檔案、一個 XmlTextWriter、一個 TextWriter、或一個 XmlWriter。 可選擇性地關閉格式化(縮排)。
多載
| 名稱 | Description |
|---|---|
| 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
- 來源:
- 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 能夠正確縮排。 此方法的特性是不重要的空白區域不會被保留。
如果你想控制空白,可以用這個 take Save 的SaveOptions超載作為參數。 請使用 DisableFormatting 儲存未縮排 XML 的選項。 這會導致寫入者將所有空白完全照 XML 樹中表示的方式寫入。
如果你想移除重複的命名空間宣告,請使用這個 OmitDuplicateNamespaces 選項。
適用於
Save(TextWriter)
- 來源:
- XElement.cs
- 來源:
- XElement.cs
- 來源:
- 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
遺囑會TextWriter寫給你XElement。
範例
以下範例會建立一個 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 能夠正確縮排。 此方法的特性是空白空間不會被保留。
如果你想控制空白,可以用這個參數來設定 Save overloadSaveOptions。 欲了解更多資訊,請參閱 載入或解析 XML 時保留空白 ,以及序列 化時保留空白。
另請參閱
適用於
Save(String)
- 來源:
- XElement.cs
- 來源:
- XElement.cs
- 來源:
- 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 樹中不重要的空白節點不會被保留。
如果你想控制空白,可以用這個參數來設定 Save overloadSaveOptions。 欲了解更多資訊,請參閱 載入或解析 XML 時保留空白 ,以及序列 化時保留空白。
另請參閱
適用於
Save(XmlWriter)
- 來源:
- XElement.cs
- 來源:
- XElement.cs
- 來源:
- 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
- 來源:
- 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,請指定 DisableFormattingoptions。 這會導致寫入者將所有空白完全照 XML 樹中表示的方式寫入。
如果你想移除重複的命名空間宣告,請使用 OmitDuplicateNamespaces 選項。
適用於
Save(TextWriter, SaveOptions)
- 來源:
- XElement.cs
- 來源:
- XElement.cs
- 來源:
- 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
輸出 TextWriter XML 的 to。
- options
- SaveOptions
SaveOptions一個指定格式行為的 A。
範例
以下範例展示了此方法的兩種應用。 第一種使用方式保留了留白空間。 第二種是用格式序列化 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,請指定 DisableFormattingoptions。 這會導致寫入者寫入所有空白區域,完全符合 XML 樹中所表示的樣貌。
如果你想儲存縮排 XML,請不要指定 DisableFormatting 的標誌。options 這樣可以移除所有多餘的無關緊要留白,並加入適當的無關緊要留白,使 XML 能夠正確縮排。 這是預設行為,也是不將 作為Save參數的方法的超載options行為。
欲了解更多資訊,請參閱 載入或解析 XML 時保留空白 ,以及序列 化時保留空白。
另請參閱
適用於
Save(String, SaveOptions)
- 來源:
- XElement.cs
- 來源:
- XElement.cs
- 來源:
- 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一個指定格式行為的 A。
範例
以下範例展示了此方法的兩種應用。 第一種使用方式保留了留白空間。 第二個是用格式化序列化的。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,請指定 DisableFormattingoptions。 這會導致寫入者寫入所有空白區域,完全符合 XML 樹中所表示的樣貌。
如果你想儲存縮排 XML,請不要指定 DisableFormatting 的標誌。options 這樣可以移除所有多餘的無關緊要留白,並加入適當的無關緊要留白,使 XML 能夠正確縮排。 這是預設行為,也是不將 作為Save參數的方法的超載options行為。
欲了解更多資訊,請參閱 載入或解析 XML 時保留空白 ,以及序列 化時保留空白。