XmlReader.Create 方法

定义

创建新的 XmlReader 实例。

重载

名称 说明
Create(String, XmlReaderSettings, XmlParserContext)

XmlReader使用用于分析的指定 URI、设置和上下文信息创建新实例。

Create(TextReader, XmlReaderSettings, XmlParserContext)

使用指定的文本读取器、设置和上下文信息进行分析,创建一个新 XmlReader 实例。

Create(Stream, XmlReaderSettings, XmlParserContext)

使用用于分析的指定流、设置和上下文信息创建新 XmlReader 实例。

Create(Stream, XmlReaderSettings, String)

使用指定的流、基 URI 和设置创建新 XmlReader 实例。

Create(XmlReader, XmlReaderSettings)

XmlReader使用指定的 XML 读取器和设置创建新实例。

Create(TextReader, XmlReaderSettings, String)

XmlReader使用指定的文本读取器、设置和基 URI 创建新实例。

Create(TextReader, XmlReaderSettings)

XmlReader使用指定的文本读取器和设置创建新实例。

Create(Stream, XmlReaderSettings)

使用指定的流和设置创建新 XmlReader 实例。

Create(String)

创建具有指定 URI 的新 XmlReader 实例。

Create(TextReader)

XmlReader使用指定的文本读取器创建新实例。

Create(Stream)

使用具有默认设置的指定流创建新 XmlReader 实例。

Create(String, XmlReaderSettings)

XmlReader使用指定的 URI 和设置创建新实例。

示例

此示例创建一个 XML 阅读器,该读取器去除无关紧要的空白和注释,并执行片段级一致性检查。

XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("books.xml", settings);
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.IgnoreWhitespace = true
settings.IgnoreComments = true
Dim reader As XmlReader = XmlReader.Create("books.xml", settings)

以下示例使用 XmlUrlResolver 默认凭据访问文件。

// Set the reader settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
settings.IgnoreProcessingInstructions = true;
settings.IgnoreWhitespace = true;
' Set the reader settings.
Dim settings as XmlReaderSettings = new XmlReaderSettings()
settings.IgnoreComments = true
settings.IgnoreProcessingInstructions = true
settings.IgnoreWhitespace = true
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Set the reader settings object to use the resolver.
settings.XmlResolver = resolver;

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("http://ServerName/data/books.xml", settings);
' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Set the reader settings object to use the resolver.
settings.XmlResolver = resolver

' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("http://ServerName/data/books.xml", settings)

以下代码将读取器实例包装在另一个读取器中。

XmlTextReader txtReader = new XmlTextReader("bookOrder.xml");
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("urn:po-schema", "PO.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(txtReader, settings);
Dim txtReader As XmlTextReader = New XmlTextReader("bookOrder.xml")
Dim settings As New XmlReaderSettings()
settings.Schemas.Add("urn:po-schema", "PO.xsd")
settings.ValidationType = ValidationType.Schema
Dim reader As XmlReader = XmlReader.Create(txtReader, settings)

此示例将读取器结合以添加 DTD 和 XML 架构验证。

XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
XmlReader inner = XmlReader.Create("book.xml", settings); // DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader outer = XmlReader.Create(inner, settings);  // XML Schema Validation
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.DTD
Dim inner As XmlReader = XmlReader.Create("book.xml", settings) ' DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd")
settings.ValidationType = ValidationType.Schema
Dim outer As XmlReader = XmlReader.Create(inner, settings)  ' XML Schema Validation

注解

大多数Create重载都包含一个settings参数,该参数接受XmlReaderSettings对象。 可以使用此对象来:

  • 指定要在 XmlReader 对象上支持的功能。
  • 重复使用该 XmlReaderSettings 对象来创建多个读取器。 可以使用相同的设置创建具有相同功能的多个读取器。 或者,可以修改实例上的 XmlReaderSettings 设置,并创建具有不同功能集的新读取器。
  • 向现有 XML 读取器添加功能。 该方法 Create 可以接受另一个 XmlReader 对象。 基础 XmlReader 对象可以是用户定义的读取器、XmlTextReader 对象或要向其添加其他功能的另一 XmlReader 实例。
  • 充分利用诸如更好的一致性检查和符合 XML 1.0(第四版)建议等功能,这些功能仅在通过静态 XmlReader 方法创建的 Create 对象上可用。

注释

尽管 .NET 包含 XmlReader 类的具体实现(例如 XmlTextReaderXmlNodeReaderXmlValidatingReader 类),但我们建议通过使用 XmlReader 方法来创建 Create 实例。

默认设置

如果使用不接受 Create 对象的 XmlReaderSettings 重载,则使用以下默认读取器设置:

Setting Default
CheckCharacters true
ConformanceLevel ConformanceLevel.Document
IgnoreComments false
IgnoreProcessingInstructions false
IgnoreWhitespace false
LineNumberOffset 0
LinePositionOffset 0
NameTable null
DtdProcessing Prohibit
Schemas XmlSchemaSet 对象
ValidationFlags ProcessIdentityConstraints 已启用
ValidationType None
XmlResolver null

常见场景设置

在某些典型的 XML 读取器场景中,您应该设置以下 XmlReaderSettings 属性。

要求 设置
数据必须是格式正确的 XML 文档。 ConformanceLevelDocument
数据必须是格式正确的 XML 分析实体。 ConformanceLevelFragment
必须针对 DTD 验证数据。 DtdProcessingParse
ValidationTypeDTD
必须针对 XML 架构验证数据。 ValidationTypeSchema
SchemasXmlSchemaSet 用于验证。 请注意, XmlReader 不支持 XML-Data 缩减(XDR)架构验证。
必须针对内联 XML 架构验证数据。 ValidationTypeSchema
ValidationFlagsProcessInlineSchema
类型支持。 ValidationTypeSchema
SchemasXmlSchemaSet 以使用。

XmlReader 不支持 XML 数据缩减 (XDR) 架构验证。

异步编程

在同步模式下,该方法 Create 从文件、流或文本读取器的缓冲区读取第一块数据。 如果 I/O 操作失败,则可能会引发异常。 在异步模式下,第一个 I/O 操作是伴随读取操作发生的,因此产生的异常会在读取操作发生时引发。

安全注意事项

默认情况下,XmlReader使用一个XmlUrlResolver对象,该对象没有用户凭据,用于打开资源。 这意味着,默认情况下,XML 读取器可以访问不需要凭据的任何位置。 使用 XmlResolver 属性控制对资源的访问:

  • 用于 ThrowingResolver 限制 XML 读取器可以访问的资源,或者...
  • XmlResolver设置为null以防止 XML 读取器打开任何外部资源。

Create(String, XmlReaderSettings, XmlParserContext)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

XmlReader使用用于分析的指定 URI、设置和上下文信息创建新实例。

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
static member Create : string * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

参数

inputUri
String

包含 XML 数据的文件的 URI。 对象 XmlResolver 上的 XmlReaderSettings 对象用于将路径转换为规范数据表示形式。 如果是XmlResolver,则使用新nullXmlUrlResolver对象。

settings
XmlReaderSettings

XmlReader 实例的设置。 此值可为 null

inputContext
XmlParserContext

分析 XML 片段所需的上下文信息。 上下文信息可以包括 XmlNameTable 要使用的、编码、命名空间范围、当前 xml:langxml:space 范围、基 URI 和文档类型定义。

此值可为 null

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputUrinull.

没有足够的 XmlReader 权限来访问 XML 数据的位置。

NameTable 两个属性 NameTable 都包含值。 (只能设置和使用其中 NameTable 一个属性)。

找不到 URI 指定的文件。

URI 格式不正确。

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

这意味着 XmlReader 可以访问不需要身份验证的任何位置。 如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以通过使用XmlReader限制访问的资源ThrowingResolver

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(TextReader, XmlReaderSettings, XmlParserContext)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

使用指定的文本读取器、设置和上下文信息进行分析,创建一个新 XmlReader 实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

参数

input
TextReader

从中读取 XML 数据的文本读取器。 文本读取器返回 Unicode 字符流,因此 XML 读取器不使用 XML 声明中指定的编码来解码数据流。

settings
XmlReaderSettings

XmlReader 实例的设置。 此值可为 null

inputContext
XmlParserContext

分析 XML 片段所需的上下文信息。 上下文信息可以包括 XmlNameTable 要使用的、编码、命名空间范围、当前 xml:langxml:space 范围、基 URI 和文档类型定义。

此值可为 null

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

NameTable 两个属性 NameTable 都包含值。 (只能设置和使用其中 NameTable 一个属性。

示例

以下示例创建一个 XmlReader 读取 XML 片段的对象。

string xmlFrag ="<item rk:ID='abc-23'>hammer</item> " +
                        "<item rk:ID='r2-435'>paint</item>" +
                        "<item rk:ID='abc-39'>saw</item>";

// Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
nsmgr.AddNamespace("rk", "urn:store-items");

// Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

// Create the reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
XmlReader reader = XmlReader.Create(new StringReader(xmlFrag), settings, context);
Dim xmlFrag As String = "<item rk:ID='abc-23'>hammer</item> " & _
                                     "<item rk:ID='r2-435'>paint</item>" & _
                                     "<item rk:ID='abc-39'>saw</item>"

' Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
nsmgr.AddNamespace("rk", "urn:store-items")

' Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)

' Create the reader. 
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlFrag), settings, context)

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以使用下列方法之一来控制可以访问哪些资源 XmlReader

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(Stream, XmlReaderSettings, XmlParserContext)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

使用用于分析的指定流、设置和上下文信息创建新 XmlReader 实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

参数

input
Stream

包含 XML 数据的流。

扫描 XmlReader 流的第一个字节,查找字节顺序标记或其他编码符号。 确定编码时,编码用于继续读取流,处理将继续将输入分析为 (Unicode) 字符流。

settings
XmlReaderSettings

XmlReader 实例的设置。 此值可为 null

inputContext
XmlParserContext

分析 XML 片段所需的上下文信息。 上下文信息可以包括 XmlNameTable 要使用的、编码、命名空间范围、当前 xml:langxml:space 范围、基 URI 和文档类型定义。

此值可为 null

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以使用下列方法之一来控制可以访问哪些资源 XmlReader

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(Stream, XmlReaderSettings, String)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

使用指定的流、基 URI 和设置创建新 XmlReader 实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, baseUri As String) As XmlReader

参数

input
Stream

包含 XML 数据的流。

扫描 XmlReader 流的第一个字节,查找字节顺序标记或其他编码符号。 确定编码时,编码用于继续读取流,处理将继续将输入分析为 (Unicode) 字符流。

settings
XmlReaderSettings

XmlReader 实例的设置。 此值可为 null

baseUri
String

要读取的实体或文档的基 URI。 此值可为 null

安全说明 基 URI 用于解析 XML 文档的相对 URI。 不要使用来自不受信任的源的基 URI。

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以使用下列方法之一来控制可以访问哪些资源 XmlReader

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(XmlReader, XmlReaderSettings)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

XmlReader使用指定的 XML 读取器和设置创建新实例。

public:
 static System::Xml::XmlReader ^ Create(System::Xml::XmlReader ^ reader, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.Xml.XmlReader reader, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.Xml.XmlReader reader, System.Xml.XmlReaderSettings? settings);
static member Create : System.Xml.XmlReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (reader As XmlReader, settings As XmlReaderSettings) As XmlReader

参数

reader
XmlReader

要用作基础 XML 读取器的对象。

settings
XmlReaderSettings

XmlReader 实例的设置。

对象的一致性级别 XmlReaderSettings 必须与基础读取器的一致性级别匹配,或者必须设置为 Auto

返回

包装在指定 XmlReader 对象周围的对象。

例外

值为 readernull.

XmlReaderSettings如果对象指定与基础读取器的一致性级别不一致的一致性级别。

-或-

基础 XmlReader 处于 ErrorClosed 状态。

示例

以下示例创建一个围绕对象包装XmlReader的验证XmlNodeReader对象。

// Create the XmlNodeReader object.
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");
XmlNodeReader nodeReader = new XmlNodeReader(doc);

// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:bookstore-schema", "books.xsd");
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

// Create a validating reader that wraps the XmlNodeReader object.
XmlReader reader = XmlReader.Create(nodeReader, settings);
// Parse the XML file.
while (reader.Read());
' Create the XmlNodeReader object.
Dim doc As New XmlDocument()
doc.Load("books.xml")
Dim nodeReader As New XmlNodeReader(doc)

' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:bookstore-schema", "books.xsd")
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack

' Create a validating reader that wraps the XmlNodeReader object.
Dim reader As XmlReader = XmlReader.Create(nodeReader, settings)
' Parse the XML file.
While reader.Read()
End While

注解

此方法允许向基础 XmlReader 对象添加其他功能。 基础XmlReader对象可以是该方法创建XmlReader的另一个Create对象,也可以是XmlReader使用具体XmlReader实现之一创建的对象。

没有凭据的默认值 XmlUrlResolver 用于访问任何外部资源,例如架构。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上, XmlResolver 请使用 XmlReaderSettings.XmlResolver 该属性指定必要的凭据。

Important

可以使用下列方法之一来控制可以访问哪些资源 XmlReader

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(TextReader, XmlReaderSettings, String)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

XmlReader使用指定的文本读取器、设置和基 URI 创建新实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, baseUri As String) As XmlReader

参数

input
TextReader

从中读取 XML 数据的文本读取器。 文本读取器返回 Unicode 字符流,因此 XML 声明中指定的编码不会被 XmlReader 用于解码数据流。

settings
XmlReaderSettings

XmlReader 实例的设置。 此值可为 null

baseUri
String

要读取的实体或文档的基 URI。 此值可为 null

安全说明 基 URI 用于解析 XML 文档的相对 URI。 不要使用来自不受信任的源的基 URI。

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以使用下列方法之一来控制可以访问哪些资源 XmlReader

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(TextReader, XmlReaderSettings)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

XmlReader使用指定的文本读取器和设置创建新实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings) As XmlReader

参数

input
TextReader

从中读取 XML 数据的文本读取器。 文本读取器返回 Unicode 字符流,因此 XML 读取器不使用 XML 声明中指定的编码来解码数据流。

settings
XmlReaderSettings

XmlReader设置。 此值可为 null

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以使用下列方法之一来控制可以访问哪些资源 XmlReader

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(Stream, XmlReaderSettings)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

使用指定的流和设置创建新 XmlReader 实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings) As XmlReader

参数

input
Stream

包含 XML 数据的流。

扫描 XmlReader 流的第一个字节,查找字节顺序标记或其他编码符号。 确定编码时,编码用于继续读取流,处理将继续将输入分析为 (Unicode) 字符流。

settings
XmlReaderSettings

XmlReader 实例的设置。 此值可为 null

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以使用下列方法之一来控制可以访问哪些资源 XmlReader

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(String)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

创建具有指定 URI 的新 XmlReader 实例。

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri);
public static System.Xml.XmlReader Create(string inputUri);
static member Create : string -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String) As XmlReader

参数

inputUri
String

包含 XML 数据的文件的 URI。 该 XmlUrlResolver 类用于将路径转换为规范数据表示形式。

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputUrinull.

没有足够的 XmlReader 权限来访问 XML 数据的位置。

URI 标识的文件不存在。

URI 格式不正确。

注意:在 Windows Store 应用的 .NETPortable 类库中,请改为捕获基类异常,FormatException

示例

以下示例创建一个 XmlReader 对象,该对象读取 URI 指定的 XML 数据文件。

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("books.xml");
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("books.xml")

注解

XmlReaderSettings具有默认设置的对象用于创建读取器。 如果要指定要在创建的读取器上支持的功能,请使用将对象 XmlReaderSettings 作为其参数之一的重载,并传入 XmlReaderSettings 具有正确设置的对象。

没有凭据的默认值 XmlUrlResolver 用于访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上, XmlResolver 请使用 XmlReaderSettings.XmlResolver 该属性指定必要的凭据。

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(TextReader)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

XmlReader使用指定的文本读取器创建新实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input);
public static System.Xml.XmlReader Create(System.IO.TextReader input);
static member Create : System.IO.TextReader -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader) As XmlReader

参数

input
TextReader

从中读取 XML 数据的文本读取器。 文本读取器返回 Unicode 字符流,因此 XML 读取器不使用 XML 声明中指定的编码来解码数据流。

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

示例

以下示例使用 StringReader 类读取 XML 字符串。

string xmlData ="<item productID='124390'>" +
                        "<price>5.95</price>" +
                        "</item>";

// Create the XmlReader object.
XmlReader reader = XmlReader.Create(new StringReader(xmlData));
Dim xmlData As String = "<item productID='124390'>" & _ 
                                     "<price>5.95</price>" & _ 
                                     "</item>"

' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlData))

注解

XmlReaderSettings具有默认设置的对象用于创建读取器。 如果要指定要在创建的读取器上支持的功能,请使用将对象 XmlReaderSettings 作为其参数之一的重载,并传入 XmlReaderSettings 具有正确设置的对象。

没有凭据的默认值 XmlUrlResolver 用于访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上, XmlResolver 请使用 XmlReaderSettings.XmlResolver 该属性指定必要的凭据。

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(Stream)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

使用具有默认设置的指定流创建新 XmlReader 实例。

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input);
public static System.Xml.XmlReader Create(System.IO.Stream input);
static member Create : System.IO.Stream -> System.Xml.XmlReader
Public Shared Function Create (input As Stream) As XmlReader

参数

input
Stream

包含 XML 数据的流。

扫描 XmlReader 流的第一个字节,查找字节顺序标记或其他编码符号。 确定编码时,编码用于继续读取流,处理将继续将输入分析为 (Unicode) 字符流。

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputnull.

没有足够的 XmlReader 权限来访问 XML 数据的位置。

示例

以下示例创建一个 XmlReaderFileStream. 读取的对象。


FileStream fs = new FileStream(@"C:\data\books.xml", FileMode.OpenOrCreate,
                                                                    FileAccess.Read, FileShare.Read);

// Create the XmlReader object.
XmlReader reader = XmlReader.Create(fs);
    Dim fs As New FileStream("C:\data\books.xml", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
    
    ' Create the XmlReader object.
    Dim reader As XmlReader = XmlReader.Create(fs)

End Sub

注解

XmlReaderSettings具有默认设置的对象用于创建读取器。 如果要指定要在创建的读取器上支持的功能,请使用将对象 XmlReaderSettings 作为其参数之一的重载,并传入 XmlReaderSettings 具有正确设置的对象。

没有凭据的默认值 XmlUrlResolver 用于访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

如果外部资源位于需要身份验证的网络资源上, XmlResolver 请使用 XmlReaderSettings.XmlResolver 该属性指定必要的凭据。

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于

Create(String, XmlReaderSettings)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

XmlReader使用指定的 URI 和设置创建新实例。

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings? settings);
static member Create : string * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings) As XmlReader

参数

inputUri
String

包含 XML 数据的文件的 URI。 对象 XmlResolver 上的 XmlReaderSettings 对象用于将路径转换为规范数据表示形式。 如果是XmlResolver,则使用新nullXmlUrlResolver对象。

settings
XmlReaderSettings

XmlReader 实例的设置。 此值可为 null

返回

用于读取流中的 XML 数据的对象。

例外

值为 inputUrinull.

找不到 URI 指定的文件。

URI 格式不正确。

注意:在 Windows Store 应用的 .NETPortable 类库中,请改为捕获基类异常,FormatException

示例

以下示例创建一个 XmlReader 支持文档类型定义 (DTD) 验证的对象。

// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

 // Create the XmlReader object.
XmlReader reader = XmlReader.Create("itemDTD.xml", settings);

// Parse the file.
while (reader.Read()) {}
' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.DtdProcessing = DtdProcessing.Parse
settings.ValidationType = ValidationType.DTD
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack

' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("itemDTD.xml", settings)

' Parse the file. 
While reader.Read()
End While

注解

默认情况下, XmlUrlResolver 不使用任何凭据访问任何外部资源,例如文档类型定义(DTD)、实体、架构等。

Important

从 .NET Framework 4.5.2 开始,不提供默认值 XmlUrlResolver 。 如果解决方案面向 .NET Framework 4.5.2 或更高版本,请XmlResolver指定XmlReaderSettings.XmlResolver使用属性。

这意味着 XmlReader 可以访问不需要身份验证的任何位置。 如果外部资源位于需要身份验证的网络资源上,请使用 XmlReaderSettings.XmlResolver 该属性指定 XmlResolver 具有所需凭据。

Important

可以通过使用XmlReader限制访问的资源ThrowingResolver

创建 XmlReader 的对象扩展实体引用并执行新行字符的 XML 规范化。

适用于