XElement.Save 方法

定义

序列化此元素的基础 XML 树。 输出可以保存到文件、文件 XmlTextWriter、输出 TextWriter或文件 XmlWriter。 (可选)可以禁用格式设置(缩进)。

重载

名称 说明
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)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
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。 此方法的行为是不会保留微不足道的空格。

如果要控制空格,请使用该Save空格的SaveOptions重载作为参数。 使用 DisableFormatting 此选项保存未输入的 XML。 这将导致编写器完全按照 XML 树中所示写入所有空格。

OmitDuplicateNamespaces如果要删除重复的命名空间声明,请使用此选项。

适用于

Save(TextWriter)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
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 AXElement

示例

以下示例创建一个 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 重载,以便 SaveOptions 指定为参数。 有关详细信息,请参阅 在加载或分析 XML 时保留空白, 并在 序列化时保留空白

另请参阅

适用于

Save(String)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
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

包含文件名称的 A 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 重载,以便 SaveOptions 指定为参数。 有关详细信息,请参阅 在加载或分析 XML 时保留空白, 并在 序列化时保留空白

另请参阅

适用于

Save(XmlWriter)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
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

将写入到的 XmlWriter AXElement

示例

以下示例演示如何将 a 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)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
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 指定格式设置行为的对象。

注解

默认情况下,设置为 optionsNone. 此选项将删除所有无关紧要的空白,并添加适当的无关紧要的空格,以便正确缩进 XML。

如果要保存未输入的 XML,请DisableFormatting指定标记。options 这将导致编写器完全按照 XML 树中所示写入所有空格。

如果要删除重复的命名空间声明,请使用 OmitDuplicateNamespaces 选项。

适用于

Save(TextWriter, SaveOptions)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
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 到的。

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,请DisableFormatting指定标记。options 这将导致编写器编写所有空格完全如 XML 树中所示。

如果要保存缩进的 XML,请不要指定DisableFormatting该标志。options 这将删除所有无关紧要的空白,并添加适当的无关紧要的空格,以便正确缩进 XML。 这是默认行为,以及不Save用作参数的方法的options重载的行为。

有关详细信息,请参阅 在加载或分析 XML 时保留空白, 并在 序列化时保留空白

另请参阅

适用于

Save(String, SaveOptions)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs
Source:
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

包含文件名称的 A 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,请DisableFormatting指定标记。options 这将导致编写器编写所有空格完全如 XML 树中所示。

如果要保存缩进的 XML,请不要指定DisableFormatting该标志。options 这将删除所有无关紧要的空白,并添加适当的无关紧要的空格,以便正确缩进 XML。 这是默认行为,以及不Save用作参数的方法的options重载的行为。

有关详细信息,请参阅 在加载或分析 XML 时保留空白, 并在 序列化时保留空白

另请参阅

适用于