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

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

XmlTextReader.ResetState メソッド

リーダーの状態を ReadState.Initial にリセットします。

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

Dim instance As XmlTextReader

instance.ResetState
public void ResetState ()
public:
void ResetState ()
public void ResetState ()
例外例外
例外種類条件

InvalidOperationException

XmlParserContext を使用してリーダー構築した場合ResetState呼び出し

XmlException

単一ストリーム内のドキュメントが同じエンコーディング共有していません。

解説解説
使用例使用例

単一ストリーム内の 2 つXML ドキュメント解析する例を次に示します

Imports System
Imports System.IO
Imports System.Text
Imports System.Xml

public class Sample

  public shared sub Main()

     Dim enc as Encoding = new
 UTF8Encoding()
     Dim utf8Buffer as byte()
 = enc.GetBytes("<root> 12345 </root>")
 

     enc = new UnicodeEncoding()
     Dim unicodeBuffer as byte()
 = enc.GetBytes("<?xml version='1.0' ?><unicode> root
 </unicode>")

     Dim memSreaderm as MemoryStream = new
 MemoryStream()
     memSreaderm.Write(unicodeBuffer, 0, unicodeBuffer.Length)
     memSreaderm.Write(utf8Buffer, 0, utf8Buffer.Length)
     memSreaderm.Position = 0

     Dim reader as XmlTextReader = new
 XmlTextReader(memSreaderm)

     while(reader.Read()) 
        Console.WriteLine("NodeType: {0}", reader.NodeType)
        if (XmlNodeType.EndElement = reader.NodeType And
 "root" = reader.Name) 
         exit while
        end if
        
        if (XmlNodeType.EndElement = reader.NodeType) 
          reader.ResetState()
       end if
    end while

  end sub
end class
using System;
using System.IO;
using System.Text;
using System.Xml;

public class Sample
{
  public static void Main(){

     Encoding enc = new UTF8Encoding();
     byte[] utf8Buffer = enc.GetBytes("<root> 12345 </root>");
 

     enc = new UnicodeEncoding();
     byte[] unicodeBuffer = enc.GetBytes("<?xml version='1.0' ?><unicode>
 root </unicode>");

     MemoryStream memStrm = new MemoryStream();
     memStrm.Write(unicodeBuffer, 0, unicodeBuffer.Length);
     memStrm.Write(utf8Buffer, 0, utf8Buffer.Length);
     memStrm.Position = 0;

     XmlTextReader reader = new XmlTextReader(memStrm);

     while(reader.Read()) {
        Console.WriteLine("NodeType: {0}", reader.NodeType);
        if (XmlNodeType.EndElement == reader.NodeType &&
 "root" == reader.Name) {
          break;
        }

        if (XmlNodeType.EndElement == reader.NodeType) {
          reader.ResetState();
       }
    } 

  }
}
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Xml;
int main()
{
   Encoding^ enc = gcnew UTF8Encoding;
   array<Byte>^utf8Buffer = enc->GetBytes( "<root> 12345 </root>"
 );
   enc = gcnew UnicodeEncoding;
   array<Byte>^unicodeBuffer = enc->GetBytes( "<?xml version='1.0'
 ?><unicode> root </unicode>" );
   MemoryStream^ memStrm = gcnew MemoryStream;
   memStrm->Write( unicodeBuffer, 0, unicodeBuffer->Length );
   memStrm->Write( utf8Buffer, 0, utf8Buffer->Length );
   memStrm->Position = 0;
   XmlTextReader^ reader = gcnew XmlTextReader( memStrm );
   while ( reader->Read() )
   {
      Console::WriteLine( "NodeType: {0}", reader->NodeType );
      if ( XmlNodeType::EndElement == reader->NodeType &&
 "root" == reader->Name )
            break;
      if ( XmlNodeType::EndElement == reader->NodeType )
            reader->ResetState();
   }
}

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

public class Sample
{
    public static void main(String[]
 args)
    {
        Encoding enc = new UTF8Encoding();
        ubyte utf8Buffer[] = enc.GetBytes("<root> 12345 </root>");

        enc = new UnicodeEncoding();
        ubyte unicodeBuffer[] = enc.GetBytes("<?xml version='1.0' ?><unicode>"
 
            + " root </unicode>");

        MemoryStream memStrm = new MemoryStream();
        memStrm.Write(unicodeBuffer, 0, unicodeBuffer.get_Length());
        memStrm.Write(utf8Buffer, 0, utf8Buffer.get_Length());
        memStrm.set_Position(0);

        XmlTextReader reader = new XmlTextReader(memStrm);

        while (reader.Read()) {
            Console.WriteLine("NodeType: {0}", reader.get_NodeType());
            if (XmlNodeType.EndElement.Equals(reader.get_NodeType())
                && "root".Equals(reader.get_Name())) {
                break;
            }

            if (XmlNodeType.EndElement.Equals(reader.get_NodeType()))
 {
                reader.ResetState();
            }
        }
    } //main
} //Sample 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2025 GRAS Group, Inc.RSS