为 XmlReader 访问外部资源

更新:November 2007

XmlResolver 类用于定位并访问 XmlReader 对象所需的任何资源。

概述

XmlResolver 可以用于执行下列操作:

  • 定位并打开 XML 实例文档。

  • 定位并打开 XML 实例文档所引用的任何外部资源。 其中可以包括实体、文档类型定义、架构等。

  • 如果资源存储在要求身份验证的系统上,XmlResolver.Credentials 属性可以用于指定必要的凭据。

通过设置 XmlReaderSettings.XmlResolver 属性并将 XmlReaderSettings 对象传递给 Create 方法,可以指定要使用的 XmlResolver

说明:

如果未指定 XmlResolver,创建的读取器将使用没有用户凭据的默认 XmlUrlResolver

以下代码创建一个 XmlReader 实例,使用具有默认凭据的 XmlUrlResolver

' 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("https://ServerName/data/books.xml", settings)
// 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("https://ServerName/data/books.xml", settings);
// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew 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( L"https://ServerName/data/books.xml", settings );

System.Xml 命名空间包括 XmlResolver 类的两种具体实现。

有关其他信息,请参见解析由 URI 命名的外部 XML 资源

请参见

概念

用 XmlReader 读取 XML

其他资源

使用 XmlReader 类

安全性和 System.Xml 应用程序