XmlValidatingReader.ResolveEntity メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlValidatingReader.ResolveEntity メソッドの意味・解説 

XmlValidatingReader.ResolveEntity メソッド

EntityReference ノードエンティティ参照解決します

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

Public Overrides Sub ResolveEntity
Dim instance As XmlValidatingReader

instance.ResolveEntity
public override void ResolveEntity ()
public:
virtual void ResolveEntity () override
public void ResolveEntity ()
例外例外
例外種類条件

InvalidOperationException

リーダーEntityReference ノード配置されません。

解説解説
使用例使用例

ResolveEntity使用して一般エンティティ展開する例を次に示します

Option Strict
Option Explicit

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
   
   Public Shared Sub Main()
      Dim reader As XmlValidatingReader = Nothing
      Dim txtreader As XmlTextReader = Nothing
      
      Try
         'Create and load the XmlTextReader with the XML file. 
         txtreader = New XmlTextReader("book1.xml")
         txtreader.WhitespaceHandling = WhitespaceHandling.None
         
         'Create the XmlValidatingReader over the XmlTextReader.
         'Set the reader to not expand general entities.
         reader = New XmlValidatingReader(txtreader)
         reader.ValidationType = ValidationType.None
         reader.EntityHandling = EntityHandling.ExpandCharEntities
         
         reader.MoveToContent() 'Move to the root element.
         reader.Read() 'Move to title start tag.
         reader.Skip() 'Skip the title element.
         'Read the misc start tag.  The reader is now positioned on
         'the entity reference node.
         reader.ReadStartElement()
         
         'Because EntityHandling is set to ExpandCharEntities, you must
 call 
         'ResolveEntity to expand the entity.  The entity replacement
 text is 
         'then parsed and returned as a child node.  
         Console.WriteLine("Expand the entity...")
         reader.ResolveEntity()
         
         Console.WriteLine("The entity replacement text is returned
 as a text node.")
         reader.Read()
         Console.WriteLine("NodeType: {0} Value: {1}",
 reader.NodeType, reader.Value)
         
         Console.WriteLine("An EndEntity node closes the entity
 reference scope.")
         reader.Read()
         Console.WriteLine("NodeType: {0} Name: {1}",
 reader.NodeType, reader.Name)
      
      Finally
         If Not (reader Is
 Nothing) Then
            reader.Close()
         End If
      End Try
   End Sub 'Main
using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
     XmlValidatingReader reader = null;
     XmlTextReader txtreader = null;

     try
     {
       //Create and load the XmlTextReader with the XML file. 
       txtreader = new XmlTextReader("book1.xml");
       txtreader.WhitespaceHandling = WhitespaceHandling.None;

       //Create the XmlValidatingReader over the XmlTextReader.
       //Set the reader to not expand general entities.
       reader = new XmlValidatingReader(txtreader);
       reader.ValidationType = ValidationType.None;
       reader.EntityHandling = EntityHandling.ExpandCharEntities;

       reader.MoveToContent();  //Move to the root element.
       reader.Read();  //Move to title start tag.
       reader.Skip();  //Skip the title element.
      
       //Read the misc start tag.  The reader is now positioned on
       //the entity reference node.
       reader.ReadStartElement(); 

       //Because EntityHandling is set to ExpandCharEntities, you must
 call 
       //ResolveEntity to expand the entity.  The entity replacement
 text is 
       //then parsed and returned as a child node.         
       Console.WriteLine("Expand the entity...");
       reader.ResolveEntity();  

       Console.WriteLine("The entity replacement text is returned as a text
 node.");
       reader.Read();  
       Console.WriteLine("NodeType: {0} Value: {1}", reader.NodeType ,reader.Value);

       Console.WriteLine("An EndEntity node closes the entity reference scope.");
       reader.Read();
       Console.WriteLine("NodeType: {0} Name: {1}", reader.NodeType,reader.Name);
     
    }
    finally
    {
       if (reader != null)
         reader.Close();
    }
  }
}
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlValidatingReader^ reader = nullptr;
   XmlTextReader^ txtreader = nullptr;
   try
   {
      
      //Create and load the XmlTextReader with the XML file. 
      txtreader = gcnew XmlTextReader( "book1.xml" );
      txtreader->WhitespaceHandling = WhitespaceHandling::None;
      
      //Create the XmlValidatingReader over the XmlTextReader.
      //Set the reader to not expand general entities.
      reader = gcnew XmlValidatingReader( txtreader );
      reader->ValidationType = ValidationType::None;
      reader->EntityHandling = EntityHandling::ExpandCharEntities;
      reader->MoveToContent(); //Move to the root element.
      reader->Read(); //Move to title start tag.
      reader->Skip(); //Skip the title element.
      
      //Read the misc start tag.  The reader is now positioned on
      //the entity reference node.
      reader->ReadStartElement();
      
      //Because EntityHandling is set to ExpandCharEntities, you must
 call 
      //ResolveEntity to expand the entity.  The entity replacement
 text is 
      //then parsed and returned as a child node.         
      Console::WriteLine( "Expand the entity..." );
      reader->ResolveEntity();
      Console::WriteLine( "The entity replacement text is returned as a text
 node." );
      reader->Read();
      Console::WriteLine( "NodeType: {0} Value: {1}", reader->NodeType,
 reader->Value );
      Console::WriteLine( "An EndEntity node closes the entity reference scope."
 );
      reader->Read();
      Console::WriteLine( "NodeType: {0} Name: {1}", reader->NodeType,
 reader->Name );
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

}

import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[]
 args)
    {
        XmlValidatingReader reader = null;
        XmlTextReader txtReader = null;
        try {
            //Create and load the XmlTextReader with the XML file. 
            txtReader = new XmlTextReader("book1.xml");
            txtReader.set_WhitespaceHandling(WhitespaceHandling.None);

            //Create the XmlValidatingReader over the XmlTextReader.
            //Set the reader to not expand general entities.
            reader = new XmlValidatingReader(txtReader);
            reader.set_ValidationType(ValidationType.None);
            reader.set_EntityHandling(EntityHandling.ExpandCharEntities);

            reader.MoveToContent(); //Move to the root element.
            reader.Read(); //Move to title start tag.
            reader.Skip(); //Skip the title element.

            //Read the misc start tag.  The reader is now positioned
 on
            //the entity reference node.
            reader.ReadStartElement();

            //Because EntityHandling is set to ExpandCharEntities, you
  
            //must call ResolveEntity to expand the entity.  The entity
  
            //replacement text is then parsed and returned as a child
 node.         
            Console.WriteLine("Expand the entity...");
            reader.ResolveEntity();
            Console.WriteLine("The entity replacement text is " 
                + "returned as a text node.");
            reader.Read();
            Console.WriteLine("NodeType: {0} Value: {1}",
                reader.get_NodeType(), reader.get_Value());
            Console.WriteLine("An EndEntity node closes the entity " 
                + " reference scope.");
            reader.Read();
            Console.WriteLine("NodeType: {0} Name: {1}", reader.get_NodeType()
,
                reader.get_Name());
        } 
        finally {
            if (reader != null) {
                reader.Close();
            }
        }
    } //main
} //Sample

この例では、入力として、book1.xml というファイル使用してます。

<?xml version='1.0' ?>
<!DOCTYPE book [<!ENTITY
 h 'hardcover'>]>
<book>
  <title>Pride And
 Prejudice</title>
  <misc>&h;</misc>
</book>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlValidatingReader クラス
XmlValidatingReader メンバ
System.Xml 名前空間
EntityHandling 列挙
その他の技術情報
XmlReader による XML読み取り



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

辞書ショートカット

すべての辞書の索引

XmlValidatingReader.ResolveEntity メソッドのお隣キーワード
検索ランキング

   

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



XmlValidatingReader.ResolveEntity メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS