XmlDocument.XmlResolver プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
外部リソースを解決するために使用する XmlResolver を設定します。
public:
virtual property System::Xml::XmlResolver ^ XmlResolver { void set(System::Xml::XmlResolver ^ value); };
public virtual System.Xml.XmlResolver XmlResolver { set; }
public virtual System.Xml.XmlResolver? XmlResolver { set; }
member this.XmlResolver : System.Xml.XmlResolver
Public Overridable Property XmlResolver As XmlResolver
プロパティ値
使用する XmlResolver
。
.NET Framework Version 1.1 の場合、完全に信頼されている呼び出し元だけが XmlResolver
を指定できます。
例外
このプロパティは null
に設定され、外部 DTD または外部エンティティが検出されました。
例
次の例では、DTD ファイルへの参照を含む XML ドキュメントを読み込みます。 この 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()
{
// Supply the credentials necessary to access the DTD file stored on the network.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = CredentialCache::DefaultCredentials;
// Create and load the XmlDocument.
XmlDocument^ doc = gcnew XmlDocument;
doc->XmlResolver = resolver; // Set the resolver.
doc->Load( "book5.xml" );
// Display the entity replacement text which is pulled from the DTD file.
Console::WriteLine( doc->DocumentElement->LastChild->InnerText );
}
using System;
using System.IO;
using System.Xml;
using System.Net;
public class Sample {
public static void Main() {
// Supply the credentials necessary to access the DTD file stored on the network.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = CredentialCache.DefaultCredentials;
// Create and load the XmlDocument.
XmlDocument doc = new XmlDocument();
doc.XmlResolver = resolver; // Set the resolver.
doc.Load("book5.xml");
// Display the entity replacement text which is pulled from the DTD file.
Console.WriteLine(doc.DocumentElement.LastChild.InnerText);
}
} // End class
Imports System.IO
Imports System.Xml
Imports System.Net
public class Sample
public shared sub Main()
' Supply the credentials necessary access the DTD file stored on the network.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = CredentialCache.DefaultCredentials
' Create and load the XmlDocument.
Dim doc as XmlDocument = new XmlDocument()
doc.XmlResolver = resolver ' Set the resolver.
doc.Load("book5.xml")
' Display the entity replacement text which is pulled from the DTD file.
Console.WriteLine(doc.DocumentElement.LastChild.InnerText)
end sub
end class
この例では、次のデータ ファイルを入力として使用します。
book5.xml
<!DOCTYPE book SYSTEM 'http://myServer/data/books.dtd'>
<book ISBN = '1-861001-57-5'>
<title>Oberon's Legacy</title>
<price>19.95</price>
<misc>&h;</misc>
</book>
books.dtd
<!ELEMENT book (title,price,misc)>
<!ATTLIST book
genre CDATA "novel"
ISBN CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT misc (#PCDATA)>
<!ENTITY h "hardcover">
<!ENTITY p "paperback">
注釈
DTD XmlResolver
の読み込みやエンティティ参照の展開に使用できます。 このプロパティを XmlResolver.Credentials 使用すると、セキュリティで保護されたネットワーク リソースに XmlResolver
格納されているリソースにアクセスするための資格情報を設定できます。
ドキュメントが (つまり、ストリーム、ファイルなどを使用して XmlReader 読み込まれた場合)
XmlResolver
を使用して読み込まれていない場合は、onXmlDocument
が常に使用されます。ドキュメントが読み込まれた XmlTextReader場合は、DocumentType ノード内
XmlTextReader
の DTD 参照を解決するために、そのドキュメントのリゾルバーが使用されます。 上のXmlDocument
リゾルバーは、エンティティ参照を展開するために使用されます。ドキュメントが読み込まれた XmlValidatingReader場合、そのドキュメントの
XmlDocument
リゾルバーは使用されません。拡張されたクラスでドキュメントが
XmlReader``XmlReader
読み込まれ、エンティティを解決できない (CanResolveEntity戻るfalse
)XmlResolver
場合、onXmlDocument
は DocumentType ノード内の参照を解決し、エンティティ参照を展開するために使用されます。
注意
セットがXmlDocument
設定されたをXmlResolver
使用してXmlReader読み込まれる場合、XmlResolver
on XmlReader
は完了後LoadにXmlDocument
キャッシュされません。
the.NET Framework のバージョン 1.1 では、このプロパティが設定されていない場合、アプリケーションの信頼レベルによって既定の動作が決定されます。
Fully trusted code:
ドキュメントでは、ユーザー資格情報のない既定値 XmlUrlResolver が使用されます。 ネットワーク リソースへのアクセスに認証が必要な場合は、プロパティを XmlResolver
使用して必要な資格情報を XmlResolver
指定します。
Semi-trusted code:
このプロパティは XmlResolver
.null
外部リソースは解決されません。
セキュリティとプロパティの詳細については、「外部リソースのXmlResolver
解決」を参照してください。
このプロパティは、ドキュメント オブジェクト モデル (DOM) の Microsoft 拡張機能です。