XmlReader.Create 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建新的 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 类的具体实现(例如 XmlTextReader、XmlNodeReader 和 XmlValidatingReader 类),但我们建议通过使用 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 文档。 | ConformanceLevel 至 Document。 |
| 数据必须是格式正确的 XML 分析实体。 | ConformanceLevel 至 Fragment。 |
| 必须针对 DTD 验证数据。 |
DtdProcessing 至 Parse ValidationType 至 DTD。 |
| 必须针对 XML 架构验证数据。 |
ValidationType 至 Schema Schemas 到 XmlSchemaSet 用于验证。 请注意, XmlReader 不支持 XML-Data 缩减(XDR)架构验证。 |
| 必须针对内联 XML 架构验证数据。 |
ValidationType 至 Schema ValidationFlags 至 ProcessInlineSchema。 |
| 类型支持。 |
ValidationType 至 Schema Schemas 到 XmlSchemaSet 以使用。 |
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:lang 和 xml:space 范围、基 URI 和文档类型定义。
此值可为 null。
返回
用于读取流中的 XML 数据的对象。
例外
值为 inputUrinull.
没有足够的 XmlReader 权限来访问 XML 数据的位置。
找不到 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:lang 和 xml:space 范围、基 URI 和文档类型定义。
此值可为 null。
返回
用于读取流中的 XML 数据的对象。
例外
值为 inputnull.
示例
以下示例创建一个 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的资源ThrowingResolver。
- 不允许 XmlReader 通过设置 XmlResolver 属性为
null来打开任何外部资源。
创建 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:lang 和 xml: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的资源ThrowingResolver。
- 不允许 XmlReader 通过设置 XmlResolver 属性为
null来打开任何外部资源。
创建 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。
返回
用于读取流中的 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的资源ThrowingResolver。
- 不允许 XmlReader 通过设置 XmlResolver 属性为
null来打开任何外部资源。
创建 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的验证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的资源ThrowingResolver。
- 不允许 XmlReader 通过设置 XmlResolver 属性为
null来打开任何外部资源。
创建 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。
返回
用于读取流中的 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的资源ThrowingResolver。
- 不允许 XmlReader 通过设置 XmlResolver 属性为
null来打开任何外部资源。
创建 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的资源ThrowingResolver。
- 不允许 XmlReader 通过设置 XmlResolver 属性为
null来打开任何外部资源。
创建 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的资源ThrowingResolver。
- 不允许 XmlReader 通过设置 XmlResolver 属性为
null来打开任何外部资源。
创建 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 标识的文件不存在。
示例
以下示例创建一个 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 数据的位置。
示例
以下示例创建一个 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)、实体、架构等。
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 指定的文件。
示例
以下示例创建一个 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 规范化。