次の方法で共有


XmlTextReader.XmlResolver プロパティ

DTD 参照を解決するために使用する XmlResolver を設定します。

Property XmlResolver As XmlResolver
[C#]
XmlResolver XmlResolver {set;}
[C++]
public: __property void set_XmlResolver(XmlResolver*);
[JScript]
public function set XmlResolver(XmlResolver);

プロパティ値

使用する XmlResolver 。 null 参照 (Visual Basic では Nothing) に設定されていると、外部リソースが解決されません。

.NET Framework Version 1.1 の場合、完全に信頼されている呼び出し元だけが XmlResolver を指定できます。

解説

リーダーは、 XmlResolver を使用して、リーダーに読み込まれるファイルの位置を解決し、DTD 参照も解決します。たとえば、XML に <!DOCTYPE book SYSTEM book.dtd> という DOCTYPE 宣言が含まれていた場合、リーダーはこの外部ファイルを解決し、DTD が整形式であるようにします。リーダーは、検証のために DTD を使用しません。

このプロパティはいつでも変更でき、次の読み取り操作時に有効となります。このプロパティを null 参照 (Visual Basic では Nothing) に設定すると、リーダーが検出した外部 DTD 参照はどれも解決されません。

.NET Framework Version 1.1 では、このプロパティが設定されていない場合、アプリケーションの信頼性レベルによって既定の動作が決まります。

Fully-trusted code: リーダーは、ユーザー資格情報を持たない既定の XmlUrlResolver を使用します。ネットワーク リソースへのアクセスに認証が要求される場合、 XmlResolver プロパティを使用して必要な資格情報で XmlResolver を指定してください。

Semi-trusted code: XmlResolver プロパティが null 参照 (Nothing) に設定されています。外部リソースが解決されていません。

使用例

[Visual Basic, C#, C++] 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

[C#] 
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();     
  
  }
} 

[C++] 
#using <mscorlib.dll>
#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 = new XmlTextReader(S"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();     
  
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

XmlTextReader クラス | XmlTextReader メンバ | System.Xml 名前空間 | XmlUrlResolver.Credentials | CredentialCache | NetworkCredential | XmlSecureResolver