XmlTextReader.XmlResolver 属性

定义

XmlResolver设置用于解析 DTD 引用的项。

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

属性值

要使用的 XmlResolver 。 如果设置为 />,则不会解析外部资源。

在 .NET Framework 版本 1.1 中,调用方必须完全信任才能指定 XmlResolver

示例

以下示例使用 XmlResolver 该属性指定访问网络文件所需的凭据。

using System;
using System.IO;
using System.Xml;
using System.Net;

public class Sample {

  public static void Main() {

    // Create the reader.
    XmlTextReader reader = new XmlTextReader("http://myServer/data/books.xml");

    // Supply the credentials necessary to access the Web server.
    XmlUrlResolver resolver = new XmlUrlResolver();
    resolver.Credentials = CredentialCache.DefaultCredentials;
    reader.XmlResolver = resolver;

    // Parse the file.
    while (reader.Read()) {
       // Do any additional processing here.
    }

    // Close the reader.
    reader.Close();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Net

public class Sample 

  public shared sub Main() 

    ' Create the reader.
    Dim reader as XmlTextReader = new XmlTextReader("http://myServer/data/books.xml")
   
    ' Supply the credentials necessary to access the Web server.
    Dim resolver as XmlUrlResolver = new XmlUrlResolver()
    resolver.Credentials = CredentialCache.DefaultCredentials
    reader.XmlResolver = resolver

    ' Parse the file.
    while (reader.Read()) 
       ' Do any additional processing here.
    end while           
  
    ' Close the reader.
    reader.Close()     
  
  end sub
end class

注解

Note

建议您使用XmlReader方法创建XmlReader.Create实例,以利用新功能。

读取器用于 XmlResolver 解析加载到读取器中的文件的位置,并解析 DTD 引用。 例如,如果 XML 包含 DOCTYPE 声明, <!DOCTYPE book SYSTEM book.dtd> 则读取器将解析此外部文件,并确保 DTD 格式正确。 读取器不使用 DTD 进行验证。

可以随时更改此属性,并对下一次读取操作生效。 如果此属性设置为 />,则不会解析读取器遇到的任何外部 DTD 引用。

在 .NET Framework 版本 1.1 中,如果未设置此属性,应用程序的信任级别将确定默认行为。

Fully trusted code: 读取器使用没有用户凭据的默认值 XmlUrlResolver 。 如果需要身份验证才能访问网络资源,请使用 XmlResolver 属性来指定 XmlResolver 具有所需凭据的凭据。

Semi-trusted code: 属性 XmlResolver 设置为 null. 未解析外部资源。

适用于

另请参阅