次の方法で共有


XmlReaderSettings.XmlResolver プロパティ

定義

外部ドキュメントへのアクセスに使用する 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 に設定されている場合、XmlException が外部リソースにアクセスしようとすると、XmlReader がスローされます。 既定値は、資格情報のない新しい XmlUrlResolver です。 .NET Framework 4.5.2 以降では、この設定の既定値nullは .

次の例では、 XmlReader 既定の資格情報を使用する資格情報を XmlSecureResolver 作成します。

// Create an XmlSecureResolver with default credentials.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://serverName/data/");
myResolver.Credentials = CredentialCache.DefaultCredentials;

XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = myResolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlSecureResolver with default credentials.
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
myResolver.Credentials = CredentialCache.DefaultCredentials

Dim settings As New XmlReaderSettings()
settings.XmlResolver = myResolver

' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)

注釈

XML XmlResolver インスタンス ドキュメントを見つけて開いたり、XML インスタンス ドキュメントによって参照される外部リソースを見つけて開いたりするために使用されます。 これには、エンティティ、DTD、またはスキーマを含めることができます。 この XmlResolver.Credentials プロパティを使用して、ネットワーク認証に必要な任意の資格情報を指定できます。

重要

ユーザー資格情報などの機密情報を XmlResolver 含めることができるため、オブジェクトをキャッシュするとき、またはオブジェクトを XmlReaderSettings あるコンポーネントから別の XmlReaderSettings コンポーネントに渡す場合は注意する必要があります。

An を XmlSecureResolver 使用して、外部ドキュメントにアクセスできます。 このクラスはXmlSecureResolver、オブジェクトをラップXmlResolverし、基になるXmlResolverユーザーがアクセスできるリソースを制限することで、別のXmlResolver実装をセキュリティで保護するのに役立ちます。

ProcessInlineSchema オブジェクトの ProcessSchemaLocation および XmlReaderSettings の検証フラグは、既定では設定されていません。 これらのフラグが設定されていると、XmlResolver オブジェクトの XmlReaderSettingsXmlReader のインスタンス ドキュメント中に出現したスキーマの場所を解決するために使用されます。 オブジェクトが指定されているXmlResolver場合、null検証フラグとProcessSchemaLocation検証フラグが設定されていても、スキーマのProcessInlineSchema場所は解決されません。

検証を実行しているときにスキーマを追加すると新しい型が追加されるため、検証しているドキュメントの検証結果を変えることができます。 結果として、信頼できるソースからの外部スキーマだけが解決されるようにする必要があります。

適用対象

こちらもご覧ください