XmlReader.Create 方法

定义

创建一个新的 XmlReader 实例。

重载

Create(String, XmlReaderSettings, XmlParserContext)

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

Create(TextReader, XmlReaderSettings, XmlParserContext)

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

Create(Stream, XmlReaderSettings, XmlParserContext)

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

Create(Stream, XmlReaderSettings, String)

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

Create(XmlReader, XmlReaderSettings)

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

Create(TextReader, XmlReaderSettings, String)

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

Create(TextReader, XmlReaderSettings)

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

Create(Stream, XmlReaderSettings)

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

Create(String)

用指定的 URI 创建一个新的 XmlReader 实例。

Create(TextReader)

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

Create(Stream)

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

Create(String, XmlReaderSettings)

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

注解

有关此 API 的详细信息,请参阅 XmlReader.Close 的补充 API 备注

Create(String, XmlReaderSettings, XmlParserContext)

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

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。 XmlReaderSettings 对象上的 XmlResolver 对象用于将路径转换为规范化数据表示形式。 如果 XmlResolvernull,则使用新的 XmlUrlResolver 对象。

settings
XmlReaderSettings

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

inputContext
XmlParserContext

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

此值可为 null

返回

一个用于读取数据流中所含数据的对象。

例外

inputUri 值为 null

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

NameTableNameTable 属性都包含值。 (只能设置并使用这些 NameTable 属性之中的一个)。

找不到 URI 指定的文件。

URI 格式不正确。

注解

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

重要

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

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

重要

可以通过将 属性设置为 XmlResolver 对象来XmlSecureResolver限制 可以访问的资源XmlReader

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

适用于

Create(TextReader, XmlReaderSettings, XmlParserContext)

使用指定的文本读取器、设置和要用于分析的上下文信息创建一个新的 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

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

NameTableNameTable 属性都包含值。 (只能设置和使用其中 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) 、实体、架构等。

重要

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

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

重要

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

- 或 -

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

适用于

Create(Stream, XmlReaderSettings, XmlParserContext)

使用指定的流、设置和用于分析的上下文信息创建一个新的 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

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

注解

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

重要

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

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

重要

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

- 或 -

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

适用于

Create(Stream, XmlReaderSettings, String)

使用指定的流、基 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。

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

注解

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

重要

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

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

重要

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

- 或 -

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

适用于

Create(XmlReader, XmlReaderSettings)

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

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 对象周围包装的对象。

例外

reader 值为 null

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

- 或 -

基础 XmlReader 处于 ErrorClosed 状态。

示例

以下示例创建一个环绕在 对象周围的XmlNodeReader验证XmlReader对象。

// 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对象可以是 方法Create创建的另一个XmlReader对象,也可以是使用其中一个XmlReader具体XmlReader实现创建的对象。

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

重要

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

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

重要

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

- 或 -

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

适用于

Create(TextReader, XmlReaderSettings, String)

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

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 字符流,因此,XmlReader 未使用 XML 声明中指定的编码对数据流进行解码。

settings
XmlReaderSettings

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

baseUri
String

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

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

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

注解

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

重要

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

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

重要

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

- 或 -

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

适用于

Create(TextReader, XmlReaderSettings)

使用指定的文本读取器和设置创建一个新的 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

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

注解

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

重要

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

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

重要

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

- 或 -

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

适用于

Create(Stream, XmlReaderSettings)

使用指定的流和设置创建一个新的 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

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

注解

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

重要

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

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

重要

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

- 或 -

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

适用于

Create(String)

用指定的 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 类用于将路径转换为规范化数据表示形式。

返回

一个用于读取数据流中所含数据的对象。

例外

inputUri 值为 null

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

由 URI 标识的文件不存在。

URI 格式不正确。

注意:在 适用于 Windows 应用商店应用的 .NET可移植类库中,改为捕获基类异常 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) 、实体、架构等。

重要

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

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

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

适用于

Create(TextReader)

使用指定的文本读取器创建一个新的 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 声明中指定的编码对数据流进行解码。

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

示例

以下示例使用 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) 、实体、架构等。

重要

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

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

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

适用于

Create(Stream)

使用带默认设置的指定流创建新的 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) 字符流。

返回

一个用于读取数据流中所含数据的对象。

例外

input 值为 null

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

示例

以下示例创建一个 XmlReader 对象,该对象从 FileStream读取。


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) 、实体、架构等。

重要

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

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

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

适用于

Create(String, XmlReaderSettings)

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

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。 XmlReaderSettings 对象上的 XmlResolver 对象用于将路径转换为规范化数据表示形式。 如果 XmlResolvernull,则使用新的 XmlUrlResolver 对象。

settings
XmlReaderSettings

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

返回

一个用于读取数据流中所含数据的对象。

例外

inputUri 值为 null

找不到 URI 指定的文件。

URI 格式不正确。

注意:在 适用于 Windows 应用商店应用的 .NET可移植类库中,改为捕获基类异常 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) 、实体、架构等。

重要

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

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

重要

可以通过将 属性设置为 XmlResolverXmlSecureResolver 对象来限制 可以访问的资源XmlReader

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

适用于