System.Xml.XmlReader.Create 方法 (TextReader, XmlReaderSettings, XmlParserContext)

方法描述

使用指定的 TextReader、XmlReaderSettings 和 XmlParserContext 对象创建一个新的 XmlReader 实例。

语法定义(C# System.Xml.XmlReader.Create 方法 (TextReader, XmlReaderSettings, XmlParserContext) 的用法)

public static XmlReader Create(
	TextReader input,
	XmlReaderSettings settings,
	XmlParserContext inputContext
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
input System-IO-TextReader 从其中读取 XML 数据的 TextReader。由于 TextReader 返回的是 Unicode 字符流,因此,XmlReader 未使用 XML 声明中指定的编码对数据流进行解码。
settings System-Xml-XmlReaderSettings XmlReaderSettings 对象用于配置新的 XmlReader 实例。该值可为 null。
inputContext System-Xml-XmlParserContext XmlParserContext 对象可以提供分析 XML 片段所需的上下文信息。上下文信息可以包括要使用的 XmlNameTable、编码、命名空间范围、当前的 xml:lang 和 xml:space 范围、基 URI 和文档类型定义。此值可为 null。
返回值 System.Xml.XmlReader 用于读取 XML 数据的 XmlReader 对象。

提示和注释

默认情况下,使用没有凭据的 XmlUrlResolver 访问所有外部资源,例如文档类型定义 (DTD)、实体、架构等。 如果外部资源所在的网络资源要求身份验证,则使用 XmlReaderSettings.XmlResolver 属性来指定具有必要凭据的 XmlResolver。

安全说明

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

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

- 或 -

通过将 XmlResolver 属性设置为 null,禁止 XmlReader 打开任何外部资源。

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

System.Xml.XmlReader.Create 方法 (TextReader, XmlReaderSettings, XmlParserContext)例子

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

string xmlFrag ="hammer " +
                        "paint" +
                        "saw";

// 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);

异常

异常 异常描述
ArgumentNullException input 值为 null。
ArgumentException XmlReaderSettings.NameTable 和 XmlParserContext.NameTable 属性都包含值。 (只可以设置并使用这两个 NameTable 属性之中的一个。)

命名空间

namespace: System.Xml

程序集: System.Xml(在 System.Xml.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。