XMLReaderとは? わかりやすく解説

XMLReader 関数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

警告
PHP 5.1 以降では、XMLReader はクラス定数を使用します。それより前の リリースでは、XMLREADER_ELEMENT のような形式の グローバル定数を使用します。

表 328. XMLReader ノード型
定数値説明
XMLReader::NONE (integer) 0ノード型なし
XMLReader::ELEMENT (integer) 1開始要素
XMLReader::ATTRIBUTE (integer) 2属性ノード
XMLReader::TEXT (integer) 3テキストノード
XMLReader::CDATA (integer) 4CDATA ノード
XMLReader::ENTITY_REF (integer) 5エンティティ参照ノード
XMLReader::ENTITY (integer) 6エンティティ宣言ノード
XMLReader::PI (integer) 7処理命令 (Processing Instruction) ノード
XMLReader::COMMENT (integer) 8コメントノード
XMLReader::DOC (integer) 9文書ノード
XMLReader::DOC_TYPE (integer) 10文書型ノード
XMLReader::DOC_FRAGMENT (integer) 11文書片ノード
XMLReader::NOTATION (integer) 12記法ノード
XMLReader::WHITESPACE (integer) 13Whitespace ノード
XMLReader::SIGNIFICANT_WHITESPACE (integer) 14Significant Whitespace ノード
XMLReader::END_ELEMENT (integer) 15終了要素
XMLReader::END_ENTITY (integer) 16終了エンティティ
XMLReader::XML_DECLARATION (integer) 17XML 宣言ノード

表 329. XMLReader パーサオプション
定数値説明
XMLReader::LOADDTD (integer) 1DTD を読み込むが、妥当性は検証しない
XMLReader::DEFAULTATTRS (integer) 2DTD およびデフォルト属性を読み込むが、妥当性は検証しない
XMLReader::VALIDATE (integer) 3DTD を読み込み、パース時に妥当性を検証する
XMLReader::SUBST_ENTITIES (integer) 4エンティティを参照で置き換える

目次

XMLReader::close — XMLReader の入力を閉じる
XMLReader::expand — 現在のノードのコピーを DOM オブジェクトとして返す
XMLReader::getAttribute — 名前をもとに、属性の値を取得する
XMLReader::getAttributeNo — インデックスをもとに、属性の値を取得する
XMLReader::getAttributeNs — 名前および URI をもとに、属性の値を取得する
XMLReader::getParserProperty — 指定したプロパティが設定されているかどうかを示す
XMLReader::isValid — パースしているドキュメントの妥当性を示す
XMLReader::lookupNamespace — プレフィックスから、名前空間を検索する
XMLReader::moveToAttribute — 指定した名前の属性にカーソルを移動する
XMLReader::moveToAttributeNo — 指定したインデックスの属性にカーソルを移動する
XMLReader::moveToAttributeNs — 指定した名前の属性にカーソルを移動する
XMLReader::moveToElement — 現在の属性の親要素にカーソルを移動する
XMLReader::moveToFirstAttribute — 最初の属性にカーソルを移動する
XMLReader::moveToNextAttribute — 次の属性にカーソルを移動する
XMLReader::next — すべてのサブツリーを飛ばして、次のノードにカーソルを移動する
XMLReader::open — パースする XML を含む URI を設定する
XMLReader::read — ドキュメント内の次のノードに移動する
XMLReader::setParserProperty — パーサのオプションを設定または設定解除する
XMLReader::setRelaxNGSchema — RelaxNG スキーマのファイル名あるいは URI を設定する
XMLReader::setRelaxNGSchemaSource — RelaxNG スキーマを含むデータを設定する
XMLReader::XML — パースする XML を含むデータを設定する

XmlReader クラス

XML データへの高速で非キャッシュの前方向アクセスを提供するリーダーを表します。

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

Public MustInherit Class
 XmlReader
    Implements IDisposable
public abstract class XmlReader implements
 IDisposable
public abstract class XmlReader implements
 IDisposable
解説解説

XmlReader は、XML データのストリームへの前方向の読み取り専用アクセスを提供します。XmlReader クラスは、W3C 勧告『Extensible Markup Language (XML) 1.0』および勧告『Namespaces in XML』に準拠しています。

現在のノードは、リーダーが配置されるノードを参照します。リーダーは読み取りメソッドを使用して進み、プロパティには現在のノードの値が反映されます。

メモ重要 :

Microsoft .NET Framework には、XmlReader クラスの具体的な実装である、XmlTextReader、XmlNodeReader、XmlValidatingReader などのクラスが含まれていますが、2.0 リリースでは XmlReader インスタンスを作成する場合、Create メソッドを使用することをお勧めします。詳細については、「XML リーダーの作成」を参照してください。

XmlReader は、XML 解析エラー時に XmlException をスローします。例外がスローされると、リーダーの状態は予測不可能になります。たとえば、報告されたノード型が、現在のノードの実際のノード型と異なる場合があります。リーダーがエラー状態にあるかどうかを確認するには、ReadState プロパティを使用します。

XmlReader クラスの詳細については、「XmlReader による XML の読み取り」を参照してください。

セキュリティについての考慮事項

XmlReader クラスを使用する際の考慮事項を次に示します。

継承階層継承階層
System.Object
  System.Xml.XmlReader
     System.Xml.XmlNodeReader
     System.Xml.XmlTextReader
     System.Xml.XmlValidatingReader
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

XmlReader コンストラクタ


XmlReader プロパティ


XmlReader メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Close 派生クラスでオーバーライドされると、ReadState を Closed に変更します。
パブリック メソッド Create オーバーロードされます。 新しい XmlReader インスタンスを作成します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetAttribute オーバーロードされます。 派生クラスでオーバーライドされると、属性の値を取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsName 文字列引数が有効な XML 名かどうかを示す値を取得します。
パブリック メソッド IsNameToken 文字列引数が有効な XML 名トークンかどうかを示す値を取得します。
パブリック メソッド IsStartElement オーバーロードされます。 現在のコンテンツ ノードが開始タグかどうかをテストします。
パブリック メソッド LookupNamespace 派生クラスでオーバーライドされると、現在の要素のスコープの名前空間プリフィックスを解決します。
パブリック メソッド MoveToAttribute オーバーロードされます。 派生クラスでオーバーライドされると、指定した属性に移動します。
パブリック メソッド MoveToContent 現在のノードがコンテンツ (空白でないテキスト、CDATA、Element、EndElement、EntityReference、または EndEntity) ノードかどうかを確認します。ノードがコンテンツ ノードでない場合、リーダーは、次のコンテンツ ノードまたはファイルの末尾までスキップします。リーダーは、ProcessingInstruction、DocumentType、Comment、Whitespace、または SignificantWhitespace の型のノードをスキップします。
パブリック メソッド MoveToElement 派生クラスでオーバーライドされると、現在の属性ノードを含む要素に移動します。
パブリック メソッド MoveToFirstAttribute 派生クラスでオーバーライドされると、最初の属性に移動します。
パブリック メソッド MoveToNextAttribute 派生クラスでオーバーライドされると、次の属性に移動します。
パブリック メソッド Read 派生クラスでオーバーライドされると、ストリームから次のノードを読み取ります。
パブリック メソッド ReadAttributeValue 派生クラスでオーバーライドされると、属性値を解析して、1 つ以上の Text、EntityReference、または EndEntity の各ノードに格納します。
パブリック メソッド ReadContentAs 指定された型のオブジェクトとして内容を読み取ります。
パブリック メソッド ReadContentAsBase64 コンテンツを読み取り、Base64 でデコードされたバイナリ バイトを返します。
パブリック メソッド ReadContentAsBinHex コンテンツを読み取り、BinHex でデコードされたバイナリ バイトを返します。
パブリック メソッド ReadContentAsBoolean 現在の位置でテキストの内容を Boolean として読み取ります。
パブリック メソッド ReadContentAsDateTime 現在の位置でテキストの内容を DateTime オブジェクトとして読み取ります。
パブリック メソッド ReadContentAsDecimal 現在の位置でテキストの内容を Decimal オブジェクトとして読み取ります。
パブリック メソッド ReadContentAsDouble 現在の位置のテキストの内容を、倍精度浮動小数点数として読み取ります。
パブリック メソッド ReadContentAsFloat 現在の位置のテキストの内容を、単精度浮動小数点数として読み取ります。
パブリック メソッド ReadContentAsInt 現在の位置でテキストの内容を 32 ビット符号付き整数として読み取ります。
パブリック メソッド ReadContentAsLong 現在の位置でテキストの内容を 64 ビット符号付き整数として読み取ります。
パブリック メソッド ReadContentAsObject 現在の位置でテキストの内容を Object として読み取ります。
パブリック メソッド ReadContentAsString 現在の位置でテキストの内容を String オブジェクトとして読み取ります。
パブリック メソッド ReadElementContentAs オーバーロードされます。 現在の要素を読み込み、型指定されたオブジェクトとして内容を返します。
パブリック メソッド ReadElementContentAsBase64 要素を読み取り、Base64 のコンテンツをデコードします。
パブリック メソッド ReadElementContentAsBinHex 要素を読み取り、BinHex の内容をデコードします。
パブリック メソッド ReadElementContentAsBoolean オーバーロードされます。 現在の要素の値を Boolean オブジェクトとして読み込みます。
パブリック メソッド ReadElementContentAsDateTime オーバーロードされます。 現在の要素を読み込み、その内容を DateTime オブジェクトとして返します。
パブリック メソッド ReadElementContentAsDecimal オーバーロードされます。 現在の要素の値を Decimal オブジェクトとして読み込みます。
パブリック メソッド ReadElementContentAsDouble オーバーロードされます。 現在の要素を読み込み、その内容を倍精度浮動小数点数として返します。
パブリック メソッド ReadElementContentAsFloat オーバーロードされます。 現在の要素の値を単精度浮動小数点数として読み込みます。
パブリック メソッド ReadElementContentAsInt オーバーロードされます。 現在の要素を読み込み、その内容を 32 ビット符号付き整数として返します。
パブリック メソッド ReadElementContentAsLong オーバーロードされます。 現在の要素を読み込み、その内容を 64 ビット符号付き整数として返します。
パブリック メソッド ReadElementContentAsObject オーバーロードされます。 現在の要素を読み込み、その内容を Object として返します。
パブリック メソッド ReadElementContentAsString オーバーロードされます。 現在の要素を読み込み、その内容を String オブジェクトとして返します。
パブリック メソッド ReadElementString オーバーロードされます。 これは、単純なテキストだけの要素を読み取るためのヘルパー メソッドです。
パブリック メソッド ReadEndElement 現在のコンテンツ ノードが終了タグで、リーダーを次のノードに進めることを確認します。
パブリック メソッド ReadInnerXml 派生クラスでオーバーライドされると、マークアップを含むすべての内容を文字列として読み取ります。
パブリック メソッド ReadOuterXml 派生クラスでオーバーライドされると、このノードとそのすべての子を表す内容 (マークアップを含む) を読み取ります。
パブリック メソッド ReadStartElement オーバーロードされます。 現在のノードが要素で、リーダーを次のノードに進めるかどうかを確認します。
パブリック メソッド ReadString 派生クラスでオーバーライドされると、要素ノードまたはテキスト ノードの内容を文字列として読み取ります。
パブリック メソッド ReadSubtree 現在のノードおよびそのすべての子孫ノードを読み取るために使用できる、新しい XmlReader インスタンスを返します。
パブリック メソッド ReadToDescendant オーバーロードされます。 XmlReader を次に一致する子孫要素に進めます。
パブリック メソッド ReadToFollowing オーバーロードされます。 指定された要素が見つかるまで読み込みます。
パブリック メソッド ReadToNextSibling オーバーロードされます。 XmlReader を次に一致する兄弟要素に進めます。
パブリック メソッド ReadValueChunk XML ドキュメントに埋め込まれたテキストの大量のストリームを読み込みます。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ResolveEntity 派生クラスでオーバーライドされると、EntityReference ノードのエンティティ参照を解決します。
パブリック メソッド Skip 現在のノードの子をスキップします。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.IDisposable.Dispose このメンバの説明については、IDisposable.Dispose のトピックを参照してください。
参照参照

XmlReader メンバ

XML データへの高速で非キャッシュの前方向アクセスを提供するリーダーを表します。

XmlReader データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド XmlReader XmlReader クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Close 派生クラスでオーバーライドされると、ReadState を Closed に変更します。
パブリック メソッド Create オーバーロードされます。 新しい XmlReader インスタンスを作成します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetAttribute オーバーロードされます。 派生クラスでオーバーライドされると、属性の値を取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsName 文字列引数が有効な XML 名かどうかを示す値を取得します。
パブリック メソッド IsNameToken 文字列引数が有効な XML 名トークンかどうかを示す値を取得します。
パブリック メソッド IsStartElement オーバーロードされます。 現在のコンテンツ ノードが開始タグかどうかをテストします。
パブリック メソッド LookupNamespace 派生クラスでオーバーライドされると、現在の要素のスコープの名前空間プリフィックスを解決します。
パブリック メソッド MoveToAttribute オーバーロードされます。 派生クラスでオーバーライドされると、指定した属性に移動します。
パブリック メソッド MoveToContent 現在のノードがコンテンツ (空白でないテキスト、CDATA、Element、EndElement、EntityReference、または EndEntity) ノードかどうかを確認します。ノードがコンテンツ ノードでない場合、リーダーは、次のコンテンツ ノードまたはファイルの末尾までスキップします。リーダーは、ProcessingInstruction、DocumentType、Comment、Whitespace、または SignificantWhitespace の型のノードをスキップします。
パブリック メソッド MoveToElement 派生クラスでオーバーライドされると、現在の属性ノードを含む要素に移動します。
パブリック メソッド MoveToFirstAttribute 派生クラスでオーバーライドされると、最初の属性に移動します。
パブリック メソッド MoveToNextAttribute 派生クラスでオーバーライドされると、次の属性に移動します。
パブリック メソッド Read 派生クラスでオーバーライドされると、ストリームから次のノードを読み取ります。
パブリック メソッド ReadAttributeValue 派生クラスでオーバーライドされると、属性値を解析して、1 つ以上の Text、EntityReference、または EndEntity の各ノードに格納します。
パブリック メソッド ReadContentAs 指定された型のオブジェクトとして内容を読み取ります。
パブリック メソッド ReadContentAsBase64 コンテンツを読み取り、Base64 でデコードされたバイナリ バイトを返します。
パブリック メソッド ReadContentAsBinHex コンテンツを読み取り、BinHex でデコードされたバイナリ バイトを返します。
パブリック メソッド ReadContentAsBoolean 現在の位置でテキストの内容を Boolean として読み取ります。
パブリック メソッド ReadContentAsDateTime 現在の位置でテキストの内容を DateTime オブジェクトとして読み取ります。
パブリック メソッド ReadContentAsDecimal 現在の位置でテキストの内容を Decimal オブジェクトとして読み取ります。
パブリック メソッド ReadContentAsDouble 現在の位置のテキストの内容を、倍精度浮動小数点数として読み取ります。
パブリック メソッド ReadContentAsFloat 現在の位置のテキストの内容を、単精度浮動小数点数として読み取ります。
パブリック メソッド ReadContentAsInt 現在の位置でテキストの内容を 32 ビット符号付き整数として読み取ります。
パブリック メソッド ReadContentAsLong 現在の位置でテキストの内容を 64 ビット符号付き整数として読み取ります。
パブリック メソッド ReadContentAsObject 現在の位置でテキストの内容を Object として読み取ります。
パブリック メソッド ReadContentAsString 現在の位置でテキストの内容を String オブジェクトとして読み取ります。
パブリック メソッド ReadElementContentAs オーバーロードされます。 現在の要素を読み込み、型指定されたオブジェクトとして内容を返します。
パブリック メソッド ReadElementContentAsBase64 要素を読み取り、Base64 のコンテンツをデコードします。
パブリック メソッド ReadElementContentAsBinHex 要素を読み取り、BinHex の内容をデコードします。
パブリック メソッド ReadElementContentAsBoolean オーバーロードされます。 現在の要素の値を Boolean オブジェクトとして読み込みます。
パブリック メソッド ReadElementContentAsDateTime オーバーロードされます。 現在の要素を読み込み、その内容を DateTime オブジェクトとして返します。
パブリック メソッド ReadElementContentAsDecimal オーバーロードされます。 現在の要素の値を Decimal オブジェクトとして読み込みます。
パブリック メソッド ReadElementContentAsDouble オーバーロードされます。 現在の要素を読み込み、その内容を倍精度浮動小数点数として返します。
パブリック メソッド ReadElementContentAsFloat オーバーロードされます。 現在の要素の値を単精度浮動小数点数として読み込みます。
パブリック メソッド ReadElementContentAsInt オーバーロードされます。 現在の要素を読み込み、その内容を 32 ビット符号付き整数として返します。
パブリック メソッド ReadElementContentAsLong オーバーロードされます。 現在の要素を読み込み、その内容を 64 ビット符号付き整数として返します。
パブリック メソッド ReadElementContentAsObject オーバーロードされます。 現在の要素を読み込み、その内容を Object として返します。
パブリック メソッド ReadElementContentAsString オーバーロードされます。 現在の要素を読み込み、その内容を String オブジェクトとして返します。
パブリック メソッド ReadElementString オーバーロードされます。 これは、単純なテキストだけの要素を読み取るためのヘルパー メソッドです。
パブリック メソッド ReadEndElement 現在のコンテンツ ノードが終了タグで、リーダーを次のノードに進めることを確認します。
パブリック メソッド ReadInnerXml 派生クラスでオーバーライドされると、マークアップを含むすべての内容を文字列として読み取ります。
パブリック メソッド ReadOuterXml 派生クラスでオーバーライドされると、このノードとそのすべての子を表す内容 (マークアップを含む) を読み取ります。
パブリック メソッド ReadStartElement オーバーロードされます。 現在のノードが要素で、リーダーを次のノードに進めるかどうかを確認します。
パブリック メソッド ReadString 派生クラスでオーバーライドされると、要素ノードまたはテキスト ノードの内容を文字列として読み取ります。
パブリック メソッド ReadSubtree 現在のノードおよびそのすべての子孫ノードを読み取るために使用できる、新しい XmlReader インスタンスを返します。
パブリック メソッド ReadToDescendant オーバーロードされます。 XmlReader を次に一致する子孫要素に進めます。
パブリック メソッド ReadToFollowing オーバーロードされます。 指定された要素が見つかるまで読み込みます。
パブリック メソッド ReadToNextSibling オーバーロードされます。 XmlReader を次に一致する兄弟要素に進めます。
パブリック メソッド ReadValueChunk XML ドキュメントに埋め込まれたテキストの大量のストリームを読み込みます。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ResolveEntity 派生クラスでオーバーライドされると、EntityReference ノードのエンティティ参照を解決します。
パブリック メソッド Skip 現在のノードの子をスキップします。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.IDisposable.Dispose このメンバの説明については、IDisposable.Dispose のトピックを参照してください。
参照参照


英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「XMLReader」の関連用語

XMLReaderのお隣キーワード
検索ランキング

   

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



XMLReaderのページの著作権

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2026 by the PHP Documentation Group.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS