XmlTextReader.XmlResolver 属性

定义

设置用于解析 DTD 引用的 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。 如果设置为 null,则不解析外部资源。

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

示例

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

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Net;
int main()
{
   
   // Create the reader.
   XmlTextReader^ reader = gcnew XmlTextReader( "http://myServer/data/books.xml" );
   
   // Supply the credentials necessary to access the Web server.
   XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
   resolver->Credentials = CredentialCache::DefaultCredentials;
   reader->XmlResolver = resolver;
   
   // Parse the file.
   while ( reader->Read() )
   {
      
      // Do any additional processing here.
   }

   
   // Close the reader.
   reader->Close();
}
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

注解

注意

从 .NET Framework 2.0 开始,建议使用 XmlReader.Create 方法创建XmlReader实例,以利用新功能。

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

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

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

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

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

适用于

另请参阅