XmlReaderSettings.XmlResolver 属性

定义

设置用来访问外部文档的 XmlResolver

public:
 property System::Xml::XmlResolver ^ XmlResolver {  void set(System::Xml::XmlResolver ^ value); };
public System.Xml.XmlResolver? XmlResolver { set; }
public System.Xml.XmlResolver XmlResolver { set; }
member this.XmlResolver : System.Xml.XmlResolver
Public Property XmlResolver As XmlResolver

属性值

XmlResolver

用来访问外部文档的 XmlResolver。 如果设置为 null,当 XmlException 试图访问外部资源时,将引发 XmlReader。 默认值为没有凭据的新 XmlUrlResolver。 从 .NET Framework 4.5.2 开始,此设置的默认值为 null.

示例

以下示例创建一个 XmlReader 使用默认凭据的 XmlSecureResolver 凭据。

// Create an XmlSecureResolver with default credentials.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://serverName/data/");
myResolver.Credentials = CredentialCache.DefaultCredentials;

XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = myResolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlSecureResolver with default credentials.
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
myResolver.Credentials = CredentialCache.DefaultCredentials

Dim settings As New XmlReaderSettings()
settings.XmlResolver = myResolver

' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)

注解

用于 XmlResolver 查找和打开 XML 实例文档,或查找和打开 XML 实例文档引用的任何外部资源。 这可以包括实体、DTD 或架构。 该 XmlResolver.Credentials 属性可用于指定网络身份验证所需的任何凭据。

重要

XmlResolver由于可以包含敏感信息(如用户凭据),因此缓存对象时XmlReaderSettings或将对象从一个组件传递到XmlReaderSettings另一个组件时,应小心。

一个 XmlSecureResolver 可用于访问外部文档。 该XmlSecureResolver类通过包装XmlResolver对象并限制基础XmlResolver有权访问的资源来保护另一个实现XmlResolver

默认情况下不设置 ProcessInlineSchema 对象的 ProcessSchemaLocationXmlReaderSettings 验证标志。 设置了这些标志后,XmlResolver 对象的 XmlReaderSettings 用于在 XmlReader 中解析实例文档中遇到的架构位置。 XmlResolver如果对象是null,即使设置了验证标志,ProcessSchemaLocation架构位置也不会解析ProcessInlineSchema

在验证过程中添加的架构会添加新类型,并且可能更改被验证的文档的验证结果。 因此,只应从可信的源解析外部架构。

适用于

另请参阅