XmlTextReader.XmlResolver 属性

设置用于解析 DTD 引用的 XmlResolver

**命名空间:**System.Xml
**程序集:**System.Xml(在 system.xml.dll 中)

语法

声明
Public WriteOnly Property XmlResolver As XmlResolver
用法
Dim instance As XmlTextReader
Dim value As XmlResolver

instance.XmlResolver = value
public XmlResolver XmlResolver { set; }
public:
property XmlResolver^ XmlResolver {
    void set (XmlResolver^ value);
}
/** @property */
public void set_XmlResolver (XmlResolver value)
public function set XmlResolver (value : XmlResolver)

属性值

要使用的 XmlResolver。如果设置为 空引用(在 Visual Basic 中为 Nothing),则不解析外部资源。 在 .NET Framework 1.1 版中,必须完全信任调用方,才能指定 XmlResolver

备注

提示

在 Microsoft .NET Framework 2.0 版 版本中,推荐的做法是使用 System.Xml.XmlReader.Create 方法创建 XmlReader 实例。这使您可以充分利用此版本中引入的新功能。有关更多信息,请参见 创建 XML 读取器

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

此属性可以随时更改并在下一次读操作时生效。如果将此属性设置为 空引用(在 Visual Basic 中为 Nothing),则不解析该读取器遇到的任何外部 DTD 引用。

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

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

Semi-trusted code:XmlResolver 属性被设置为 空引用(在 Visual Basic 中为 Nothing)。不解析外部资源。

示例

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

Imports System
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
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();     
  
  }
} 
#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();
}

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

XmlTextReader 类
XmlTextReader 成员
System.Xml 命名空间
XmlUrlResolver.Credentials
CredentialCache
NetworkCredential
XmlSecureResolver 类

其他资源

用 XmlReader 读取 XML