次の方法で共有


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

使用する XmlResolvernull に設定されていると、外部リソースが解決されません。

.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することをお勧めします。

リーダーは、リーダーに読み込まれたファイルの場所を解決し、DTD 参照を解決するためにも使用 XmlResolver します。 たとえば、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 外部リソースは解決されません。

適用対象

こちらもご覧ください