XmlWriter.Create 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个新的 XmlWriter 实例。
重载
Create(StringBuilder, XmlWriterSettings) |
使用 XmlWriter 和 StringBuilder 对象创建一个新的 XmlWriterSettings 实例。 |
Create(String, XmlWriterSettings) |
使用文件名和 XmlWriter 对象创建一个新的 XmlWriterSettings 实例。 |
Create(TextWriter, XmlWriterSettings) |
使用 XmlWriter 和 TextWriter 对象创建一个新的 XmlWriterSettings 实例。 |
Create(Stream, XmlWriterSettings) |
使用流和 XmlWriter 对象创建一个新的 XmlWriterSettings 实例。 |
Create(XmlWriter, XmlWriterSettings) |
使用指定的 XmlWriter 和 XmlWriter 对象创建一个新的 XmlWriterSettings 实例。 |
Create(StringBuilder) |
使用指定的 XmlWriter 创建一个新的 StringBuilder 实例。 |
Create(String) |
使用指定的文件名创建一个新的 XmlWriter 实例。 |
Create(TextWriter) |
使用指定的 XmlWriter 创建一个新的 TextWriter 实例。 |
Create(Stream) |
使用指定的流创建一个新的 XmlWriter 实例。 |
Create(XmlWriter) |
注解
Create某些重载包括接受 settings
XmlWriterSettings 对象的参数。 可以使用此对象来:
指定要在创建的 XmlWriter 对象上支持的功能。
重用 对象 XmlWriterSettings 以创建多个编写器对象。 将为每个创建的写入器复制 XmlWriterSettings 对象并标记为只读。 更改 XmlWriterSettings 实例上的设置不会影响具有相同设置的现有写入器。 因此,可以使用相同的设置创建多个具有相同功能的写入器。 也可以修改 XmlWriterSettings 实例上的设置并创建具有不同功能集的新写入器。
向现有 XML 编写器添加功能。 Create 方法可以接受其他 XmlWriter 对象。 基础 XmlWriter 对象不必是静态 Create 方法创建的 XML 编写器。 例如,可以指定要向其添加其他功能的用户定义的 XML 编写器。
充分利用功能,例如更好的符合性检查和 XML 1.0 建议 的合规性,这些建议仅适用于 XmlWriter 静态 Create 方法创建的对象。
如果使用 Create 不接受 XmlWriterSettings 对象的重载,则使用以下默认编写器设置:
设置 | 默认 |
---|---|
CheckCharacters | true |
CloseOutput | false |
ConformanceLevel | ConformanceLevel.Document |
Encoding | Encoding.UTF8 |
Indent | false |
IndentChars | 两个空格 |
NamespaceHandling | Default (不删除) |
NewLineChars | \r\n (回车符、换行符) |
NewLineHandling | NewLineHandling.Replace |
NewLineOnAttributes | false |
OmitXmlDeclaration | false |
OutputMethod | XmlOutputMethod.Xml |
WriteEndDocumentOnClose | true |
注意
尽管.NET Framework包括 XmlTextWriter 类(类的具体实现XmlWriter),但建议使用 Create 方法创建XmlWriter实例。
Create(StringBuilder, XmlWriterSettings)
使用 XmlWriter 和 StringBuilder 对象创建一个新的 XmlWriterSettings 实例。
public:
static System::Xml::XmlWriter ^ Create(System::Text::StringBuilder ^ output, System::Xml::XmlWriterSettings ^ settings);
public static System.Xml.XmlWriter Create (System.Text.StringBuilder output, System.Xml.XmlWriterSettings settings);
public static System.Xml.XmlWriter Create (System.Text.StringBuilder output, System.Xml.XmlWriterSettings? settings);
static member Create : System.Text.StringBuilder * System.Xml.XmlWriterSettings -> System.Xml.XmlWriter
Public Shared Function Create (output As StringBuilder, settings As XmlWriterSettings) As XmlWriter
参数
- output
- StringBuilder
要写入的 StringBuilder。 由 XmlWriter 写入的内容被追加到 StringBuilder。
- settings
- XmlWriterSettings
用于配置新 XmlWriterSettings 实例的 XmlWriter 对象。 如果这是 null
,则使用具有默认设置的 XmlWriterSettings。
如果将 XmlWriter 用于 Transform(String, XmlWriter) 方法,则应使用 OutputSettings 属性获取具有正确设置的 XmlWriterSettings 对象。 这样可以确保所创建的 XmlWriter 对象的输出设置是正确的。
返回
一个 XmlWriter 对象。
例外
builder
值为 null
。
适用于
Create(String, XmlWriterSettings)
使用文件名和 XmlWriter 对象创建一个新的 XmlWriterSettings 实例。
public:
static System::Xml::XmlWriter ^ Create(System::String ^ outputFileName, System::Xml::XmlWriterSettings ^ settings);
public static System.Xml.XmlWriter Create (string outputFileName, System.Xml.XmlWriterSettings? settings);
public static System.Xml.XmlWriter Create (string outputFileName, System.Xml.XmlWriterSettings settings);
static member Create : string * System.Xml.XmlWriterSettings -> System.Xml.XmlWriter
Public Shared Function Create (outputFileName As String, settings As XmlWriterSettings) As XmlWriter
参数
- outputFileName
- String
要对其写入的文件。 XmlWriter 在指定路径上创建一个文件,并采用 XML 1.0 文本语法写入该文件。 outputFileName
必须为文件系统路径。
- settings
- XmlWriterSettings
用于配置新 XmlWriterSettings 实例的 XmlWriter 对象。 如果这是 null
,则使用具有默认设置的 XmlWriterSettings。
如果将 XmlWriter 用于 Transform(String, XmlWriter) 方法,则应使用 OutputSettings 属性获取具有正确设置的 XmlWriterSettings 对象。 这样可以确保所创建的 XmlWriter 对象的输出设置是正确的。
返回
一个 XmlWriter 对象。
例外
url
值为 null
。
示例
以下示例使用定义的设置创建对象 XmlWriter 。
using System;
using System.IO;
using System.Xml;
using System.Text;
public class Sample {
public static void Main() {
XmlWriter writer = null;
try {
// Create an XmlWriterSettings object with the correct options.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = ("\t");
settings.OmitXmlDeclaration = true;
// Create the XmlWriter object and write some content.
writer = XmlWriter.Create("data.xml", settings);
writer.WriteStartElement("book");
writer.WriteElementString("item", "tesing");
writer.WriteEndElement();
writer.Flush();
}
finally {
if (writer != null)
writer.Close();
}
}
}
Imports System.IO
Imports System.Xml
Imports System.Text
Public Class Sample
Public Shared Sub Main()
Dim writer As XmlWriter = Nothing
Try
' Create an XmlWriterSettings object with the correct options.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.Indent = true
settings.IndentChars = (ControlChars.Tab)
settings.OmitXmlDeclaration = true
' Create the XmlWriter object and write some content.
writer = XmlWriter.Create("data.xml", settings)
writer.WriteStartElement("book")
writer.WriteElementString("item", "tesing")
writer.WriteEndElement()
writer.Flush()
Finally
If Not (writer Is Nothing) Then
writer.Close()
End If
End Try
End Sub
End Class
适用于
Create(TextWriter, XmlWriterSettings)
使用 XmlWriter 和 TextWriter 对象创建一个新的 XmlWriterSettings 实例。
public:
static System::Xml::XmlWriter ^ Create(System::IO::TextWriter ^ output, System::Xml::XmlWriterSettings ^ settings);
public static System.Xml.XmlWriter Create (System.IO.TextWriter output, System.Xml.XmlWriterSettings settings);
public static System.Xml.XmlWriter Create (System.IO.TextWriter output, System.Xml.XmlWriterSettings? settings);
static member Create : System.IO.TextWriter * System.Xml.XmlWriterSettings -> System.Xml.XmlWriter
Public Shared Function Create (output As TextWriter, settings As XmlWriterSettings) As XmlWriter
参数
- output
- TextWriter
要写入的 TextWriter。 XmlWriter 编写 XML 1.0 文本语法,并将该语法追加到指定 TextWriter。
- settings
- XmlWriterSettings
用于配置新 XmlWriterSettings 实例的 XmlWriter 对象。 如果这是 null
,则使用具有默认设置的 XmlWriterSettings。
如果将 XmlWriter 用于 Transform(String, XmlWriter) 方法,则应使用 OutputSettings 属性获取具有正确设置的 XmlWriterSettings 对象。 这样可以确保所创建的 XmlWriter 对象的输出设置是正确的。
返回
一个 XmlWriter 对象。
例外
text
值为 null
。
示例
以下示例写出 XML 字符串。
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
StringWriter sw = new StringWriter();
using (XmlWriter writer = XmlWriter.Create(sw, settings))
{
writer.WriteStartElement("book");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();
writer.Flush();
String output = sw.ToString();
}
Dim settings As New XmlWriterSettings()
settings.OmitXmlDeclaration = True
Dim sw As New StringWriter()
Using writer As XmlWriter = XmlWriter.Create(sw, settings)
writer.WriteStartElement("book")
writer.WriteElementString("price", "19.95")
writer.WriteEndElement()
writer.Flush()
Dim output As String = sw.ToString()
End Using
适用于
Create(Stream, XmlWriterSettings)
使用流和 XmlWriter 对象创建一个新的 XmlWriterSettings 实例。
public:
static System::Xml::XmlWriter ^ Create(System::IO::Stream ^ output, System::Xml::XmlWriterSettings ^ settings);
public static System.Xml.XmlWriter Create (System.IO.Stream output, System.Xml.XmlWriterSettings settings);
public static System.Xml.XmlWriter Create (System.IO.Stream output, System.Xml.XmlWriterSettings? settings);
static member Create : System.IO.Stream * System.Xml.XmlWriterSettings -> System.Xml.XmlWriter
Public Shared Function Create (output As Stream, settings As XmlWriterSettings) As XmlWriter
参数
- settings
- XmlWriterSettings
用于配置新 XmlWriterSettings 实例的 XmlWriter 对象。 如果这是 null
,则使用具有默认设置的 XmlWriterSettings。
如果将 XmlWriter 用于 Transform(String, XmlWriter) 方法,则应使用 OutputSettings 属性获取具有正确设置的 XmlWriterSettings 对象。 这样可以确保所创建的 XmlWriter 对象的输出设置是正确的。
返回
一个 XmlWriter 对象。
例外
stream
值为 null
。
示例
以下示例将 XML 片段写入内存流。
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;
// Create the XmlWriter object and write some content.
MemoryStream strm = new MemoryStream();
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteElementString("orderID", "1-456-ab");
writer.WriteElementString("orderID", "2-36-00a");
writer.Flush();
writer.Close();
// Do additional processing on the stream.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.OmitXmlDeclaration = true
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.CloseOutput = false
' Create the XmlWriter object and write some content.
Dim strm as MemoryStream = new MemoryStream()
Dim writer As XmlWriter = XmlWriter.Create(strm, settings)
writer.WriteElementString("orderID", "1-456-ab")
writer.WriteElementString("orderID", "2-36-00a")
writer.Flush()
writer.Close()
' Do additional processing on the stream.
注解
XmlWriter 始终将字节顺序标记 (BOM) 写入基础数据流;但是,某些流不得具有 BOM。 若要省略 BOM,请创建一个新 XmlWriterSettings 对象,并将 Encoding 属性设置为构造函数中布尔值设置为 false 的新 UTF8Encoding 对象。
适用于
Create(XmlWriter, XmlWriterSettings)
使用指定的 XmlWriter 和 XmlWriter 对象创建一个新的 XmlWriterSettings 实例。
public:
static System::Xml::XmlWriter ^ Create(System::Xml::XmlWriter ^ output, System::Xml::XmlWriterSettings ^ settings);
public static System.Xml.XmlWriter Create (System.Xml.XmlWriter output, System.Xml.XmlWriterSettings settings);
public static System.Xml.XmlWriter Create (System.Xml.XmlWriter output, System.Xml.XmlWriterSettings? settings);
static member Create : System.Xml.XmlWriter * System.Xml.XmlWriterSettings -> System.Xml.XmlWriter
Public Shared Function Create (output As XmlWriter, settings As XmlWriterSettings) As XmlWriter
参数
- settings
- XmlWriterSettings
用于配置新 XmlWriterSettings 实例的 XmlWriter 对象。 如果这是 null
,则使用具有默认设置的 XmlWriterSettings。
如果将 XmlWriter 用于 Transform(String, XmlWriter) 方法,则应使用 OutputSettings 属性获取具有正确设置的 XmlWriterSettings 对象。 这样可以确保所创建的 XmlWriter 对象的输出设置是正确的。
返回
一个 XmlWriter 对象,是指定的 XmlWriter 对象周围的包装。
例外
writer
值为 null
。
注解
此方法允许向基础 XmlWriter 对象添加其他功能。 基础 XmlWriter 对象可以是 由 XmlWriter.Create 方法创建的对象,也可以是使用 XmlTextWriter 实现创建的 对象。
适用于
Create(StringBuilder)
使用指定的 XmlWriter 创建一个新的 StringBuilder 实例。
public:
static System::Xml::XmlWriter ^ Create(System::Text::StringBuilder ^ output);
public static System.Xml.XmlWriter Create (System.Text.StringBuilder output);
static member Create : System.Text.StringBuilder -> System.Xml.XmlWriter
Public Shared Function Create (output As StringBuilder) As XmlWriter
参数
- output
- StringBuilder
要写入的 StringBuilder。 由 XmlWriter 写入的内容被追加到 StringBuilder。
返回
一个 XmlWriter 对象。
例外
builder
值为 null
。
注解
使用此重载时, XmlWriterSettings 将使用具有默认设置的对象来创建 XML 编写器。
设置 | 默认 |
---|---|
CheckCharacters | true |
CloseOutput | false |
ConformanceLevel | ConformanceLevel.Document |
Encoding | Encoding.UTF8 |
Indent | false |
IndentChars | 两个空格 |
NamespaceHandling | Default (不删除) |
NewLineChars | \r\n (回车符、换行符) |
NewLineHandling | NewLineHandling.Replace |
NewLineOnAttributes | false |
OmitXmlDeclaration | false |
OutputMethod | XmlOutputMethod.Xml |
WriteEndDocumentOnClose | true |
如果要指定要在创建的 XML 编写器上支持的功能,请使用重载,该重载将 XmlWriterSettings 对象作为其参数之一,并使用自定义设置传入 XmlWriterSettings 对象。
适用于
Create(String)
使用指定的文件名创建一个新的 XmlWriter 实例。
public:
static System::Xml::XmlWriter ^ Create(System::String ^ outputFileName);
public static System.Xml.XmlWriter Create (string outputFileName);
static member Create : string -> System.Xml.XmlWriter
Public Shared Function Create (outputFileName As String) As XmlWriter
参数
- outputFileName
- String
要对其写入的文件。 XmlWriter 在指定路径上创建一个文件,并采用 XML 1.0 文本语法写入该文件。 outputFileName
必须为文件系统路径。
返回
一个 XmlWriter 对象。
例外
url
值为 null
。
示例
以下示例创建一个 XmlWriter 对象并写入一个书籍节点。
using (XmlWriter writer = XmlWriter.Create("output.xml"))
{
writer.WriteStartElement("book");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();
writer.Flush();
}
Using writer As XmlWriter = XmlWriter.Create("output.xml")
writer.WriteStartElement("book")
writer.WriteElementString("price", "19.95")
writer.WriteEndElement()
writer.Flush()
End Using
注解
使用此重载时, XmlWriterSettings 将使用具有默认设置的对象来创建 XML 编写器。
设置 | 默认 |
---|---|
CheckCharacters | true |
CloseOutput | false |
ConformanceLevel | ConformanceLevel.Document |
Encoding | Encoding.UTF8 |
Indent | false |
IndentChars | 两个空格 |
NamespaceHandling | Default (不删除) |
NewLineChars | \r\n (回车符、换行符) |
NewLineHandling | NewLineHandling.Replace |
NewLineOnAttributes | false |
OmitXmlDeclaration | false |
OutputMethod | XmlOutputMethod.Xml |
WriteEndDocumentOnClose | true |
如果要指定要在创建的 XML 编写器上支持的功能,请使用重载,该重载将 XmlWriterSettings 对象作为其参数之一,并使用自定义设置传入 XmlWriterSettings 对象。
适用于
Create(TextWriter)
使用指定的 XmlWriter 创建一个新的 TextWriter 实例。
public:
static System::Xml::XmlWriter ^ Create(System::IO::TextWriter ^ output);
public static System.Xml.XmlWriter Create (System.IO.TextWriter output);
static member Create : System.IO.TextWriter -> System.Xml.XmlWriter
Public Shared Function Create (output As TextWriter) As XmlWriter
参数
- output
- TextWriter
要写入的 TextWriter。 XmlWriter 编写 XML 1.0 文本语法,并将该语法追加到指定 TextWriter。
返回
一个 XmlWriter 对象。
例外
text
值为 null
。
示例
以下示例创建一个输出到控制台的编写器。
using (XmlWriter writer = XmlWriter.Create(Console.Out))
{
writer.WriteStartElement("book");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();
writer.Flush();
}
Using writer As XmlWriter = XmlWriter.Create(Console.Out)
writer.WriteStartElement("book")
writer.WriteElementString("price", "19.95")
writer.WriteEndElement()
writer.Flush()
End Using
注解
使用此重载时, XmlWriterSettings 将使用具有默认设置的对象来创建 XML 编写器。
设置 | 默认 |
---|---|
CheckCharacters | true |
CloseOutput | false |
ConformanceLevel | ConformanceLevel.Document |
Encoding | Encoding.UTF8 |
Indent | false |
IndentChars | 两个空格 |
NamespaceHandling | Default (不删除) |
NewLineChars | \r\n (回车符、换行符) |
NewLineHandling | NewLineHandling.Replace |
NewLineOnAttributes | false |
OmitXmlDeclaration | false |
OutputMethod | XmlOutputMethod.Xml |
WriteEndDocumentOnClose | true |
如果要指定要在创建的编写器上支持的功能,请使用重载,该重载将 XmlWriterSettings 对象作为其参数之一,并使用自定义设置传入 XmlWriterSettings 对象。
适用于
Create(Stream)
使用指定的流创建一个新的 XmlWriter 实例。
public:
static System::Xml::XmlWriter ^ Create(System::IO::Stream ^ output);
public static System.Xml.XmlWriter Create (System.IO.Stream output);
static member Create : System.IO.Stream -> System.Xml.XmlWriter
Public Shared Function Create (output As Stream) As XmlWriter
参数
返回
一个 XmlWriter 对象。
例外
stream
值为 null
。
示例
以下示例将 XML 片段写入内存流。 (它使用 Create(Stream, XmlWriterSettings) 重载,该重载还会在新 XML 编写器实例上配置设置。)
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;
// Create the XmlWriter object and write some content.
MemoryStream strm = new MemoryStream();
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteElementString("orderID", "1-456-ab");
writer.WriteElementString("orderID", "2-36-00a");
writer.Flush();
writer.Close();
// Do additional processing on the stream.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.OmitXmlDeclaration = true
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.CloseOutput = false
' Create the XmlWriter object and write some content.
Dim strm as MemoryStream = new MemoryStream()
Dim writer As XmlWriter = XmlWriter.Create(strm, settings)
writer.WriteElementString("orderID", "1-456-ab")
writer.WriteElementString("orderID", "2-36-00a")
writer.Flush()
writer.Close()
' Do additional processing on the stream.
注解
使用此重载时, XmlWriterSettings 将使用以下默认设置的对象来创建 XML 编写器:
设置 | 默认 |
---|---|
CheckCharacters | true |
CloseOutput | false |
ConformanceLevel | ConformanceLevel.Document |
Encoding | Encoding.UTF8 |
Indent | false |
IndentChars | 两个空格 |
NamespaceHandling | Default (不删除) |
NewLineChars | \r\n (回车符、换行符) |
NewLineHandling | NewLineHandling.Replace |
NewLineOnAttributes | false |
OmitXmlDeclaration | false |
OutputMethod | XmlOutputMethod.Xml |
WriteEndDocumentOnClose | true |
如果要指定要在创建的编写器上支持的功能,请使用重载,该重载将 XmlWriterSettings 对象作为其参数之一,并使用自定义设置传入 XmlWriterSettings 对象。
此外,XmlWriter 始终将字节顺序标记 (BOM) 写入基础数据流;但是,某些流不得具有 BOM。 若要省略 BOM,请创建一个新 XmlWriterSettings 对象,并将 Encoding 属性设置为构造函数中布尔值设置为 false 的新 UTF8Encoding 对象。
适用于
Create(XmlWriter)
public:
static System::Xml::XmlWriter ^ Create(System::Xml::XmlWriter ^ output);
public static System.Xml.XmlWriter Create (System.Xml.XmlWriter output);
static member Create : System.Xml.XmlWriter -> System.Xml.XmlWriter
Public Shared Function Create (output As XmlWriter) As XmlWriter
参数
返回
一个 XmlWriter 对象,是指定的 XmlWriter 对象周围的包装。
例外
writer
值为 null
。
注解
此方法允许向基础 XmlWriter 对象添加功能。 基础 XmlWriter 对象可以是 由 XmlWriter.Create 方法创建的对象,也可以是使用 XmlTextWriter 实现创建的 对象。
使用此重载时, XmlWriterSettings 将使用具有默认设置的对象来创建 XML 编写器。
设置 | 默认 |
---|---|
CheckCharacters | true |
CloseOutput | false |
ConformanceLevel | ConformanceLevel.Document |
Encoding | Encoding.UTF8 |
Indent | false |
IndentChars | 两个空格 |
NamespaceHandling | Default (不删除) |
NewLineChars | \r\n (回车符、换行符) |
NewLineHandling | NewLineHandling.Replace |
NewLineOnAttributes | false |
OmitXmlDeclaration | false |
OutputMethod | XmlOutputMethod.Xml |
WriteEndDocumentOnClose | true |
如果要指定要在创建的 XML 编写器上支持的功能,请使用重载,该重载将 XmlWriterSettings 对象作为其参数之一,并使用自定义设置传入 XmlWriterSettings 对象。