XmlReaderSettings.XmlResolver プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
外部ドキュメントへのアクセスに使用する 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
に設定されている場合、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 オブジェクトの XmlReaderSettings が XmlReader のインスタンス ドキュメント中に出現したスキーマの場所を解決するために使用されます。 オブジェクトが指定されているXmlResolver場合、null
検証フラグとProcessSchemaLocation検証フラグが設定されていても、スキーマのProcessInlineSchema場所は解決されません。
検証を実行しているときにスキーマを追加すると新しい型が追加されるため、検証しているドキュメントの検証結果を変えることができます。 結果として、信頼できるソースからの外部スキーマだけが解決されるようにする必要があります。