XmlValidatingReader.XmlResolver プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlValidatingReader.XmlResolver プロパティの意味・解説 

XmlValidatingReader.XmlResolver プロパティ

外部ドキュメント型定義 (DTD) およびスキーマ位置参照解決するために使用する XmlResolver を設定しますXmlResolver は、XML スキーマ定義言語 (XSD) スキーマ見つかったインポート要素またはインクルード要素処理するためにも使用されます。

名前空間: System.Xml
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public WriteOnly Property
 XmlResolver As XmlResolver
Dim instance As XmlValidatingReader
Dim value As XmlResolver

instance.XmlResolver = value
public XmlResolver XmlResolver { set; }
public:
property XmlResolver^ XmlResolver {
    void set (XmlResolver^ value);
}
/** @property */
public void set_XmlResolver (XmlResolver value)
public function set XmlResolver
 (value : XmlResolver)

プロパティ
使用する XmlResolvernull 参照 (Visual Basic では Nothing) に設定されていると、外部リソース解決されません。 .NET Framework バージョン 1.1 では、呼び出し元が完全に信頼されていなければ XmlResolver指定できません。

解説解説

XmlResolver は、検証プロセス完了するために必要な DTDエンティティ、またはスキーマ読み込むために使用します

このプロパティはいつでも設定でき、次の Read 呼び出しの後に有効となります。このプロパティnull 参照 (Visual Basic では Nothing) に設定すると、リーダー外部参照解決する必要がない判断します。この場合リーダーは、リソースがある場合内部リソースだけを検証します。

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

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

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

スキーマ使用して検証を行う場合は、Schemas プロパティ使用して XmlSchemaCollection を指定することにより、手間のかかる読み込みプロセス回避できます

使用例使用例

XmlResolver プロパティ使用してネットワーク DTD ファイルアクセス必要な資格情報指定する例を次に示します

' Create the reader.
Dim txtreader as XmlTextReader = new
 XmlTextReader("book5.xml")
Dim reader as XmlValidatingReader = new
 XmlValidatingReader(txtreader)
txtreader.WhitespaceHandling = WhitespaceHandling.None

' Set the credentials necessary to access the DTD file stored on the
 network.
Dim resolver as XmlUrlResolver = new
 XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials
reader.XmlResolver = resolver

' Display each of the element nodes.
while (reader.Read())
   select case reader.NodeType
     case XmlNodeType.Element:
       Console.Write("<{0}>", reader.Name)
     case XmlNodeType.Text:
       Console.Write(reader.Value)
     case XmlNodeType.DocumentType:
       Console.Write("<!DOCTYPE {0} [{1}]", reader.Name,
 reader.Value)
     case XmlNodeType.EntityReference:
       Console.Write(reader.Name)
     case XmlNodeType.EndElement:
       Console.Write("</{0}>", reader.Name)
   end select        
end while           
// Create the reader.
XmlTextReader txtreader = new XmlTextReader("book5.xml");
XmlValidatingReader reader = new XmlValidatingReader(txtreader);
txtreader.WhitespaceHandling = WhitespaceHandling.None;

// Set the credentials necessary to access the DTD file stored on the
 network.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
reader.XmlResolver = resolver;

// Display each of the element nodes.
while (reader.Read()){
   switch (reader.NodeType){
     case XmlNodeType.Element:
       Console.Write("<{0}>", reader.Name);
       break;
     case XmlNodeType.Text:
       Console.Write(reader.Value);
       break;
     case XmlNodeType.DocumentType:
       Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
       break;
     case XmlNodeType.EntityReference:
       Console.Write(reader.Name);
       break;
     case XmlNodeType.EndElement:
       Console.Write("</{0}>", reader.Name);
       break;
  }        
}           
   // Create the reader. -> 
   XmlTextReader^ txtreader = gcnew XmlTextReader( "book5.xml" );
   XmlValidatingReader^ reader = gcnew XmlValidatingReader( txtreader );
   txtreader->WhitespaceHandling = WhitespaceHandling::None;
   
   // Set the credentials necessary to access the DTD file stored on the
 network.
   XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
   resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;
   reader->XmlResolver = resolver;
   
   // Display each of the element nodes.
   while ( reader->Read() )
   {
      switch ( reader->NodeType )
      {
         case XmlNodeType::Element:
            Console::Write( "< {0}>", reader->Name );
            break;

         case XmlNodeType::Text:
            Console::Write( reader->Value );
            break;

         case XmlNodeType::DocumentType:
            Console::Write( "<!DOCTYPE {0} [ {1}]", reader->Name,
 reader->Value );
            break;

         case XmlNodeType::EntityReference:
            Console::Write( reader->Name );
            break;

         case XmlNodeType::EndElement:
            Console::Write( "</ {0}>", reader->Name );
            break;
      }
   }

   
   // Close the reader.
   reader->Close();
}

この例では、次のデータ ファイル入力として使用してます。

book5.xml

<!DOCTYPE book SYSTEM 'http://myServer/DTDs/books.dtd'>
<book ISBN = '1-861001-57-5'>
  <title>Pride And
 Prejudice</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">
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlValidatingReader クラス
XmlValidatingReader メンバ
System.Xml 名前空間
XmlUrlResolver.Credentials プロパティ
CredentialCache
NetworkCredential
XmlSecureResolver クラス
その他の技術情報
XmlReader による XML読み取り



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「XmlValidatingReader.XmlResolver プロパティ」の関連用語

XmlValidatingReader.XmlResolver プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XmlValidatingReader.XmlResolver プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS