Forum und email

XMLReader 関数

導入

XMLReader 拡張モジュールは、プル型の XML パーサです。ドキュメント ストリーム内をカーソル風に進んでいき、その途中の各ノードで立ち止まります。

エンコーディング

内部的には、libxml は UTF-8 エンコーディングを使用しています。 したがって、取得したデータはすべて UTF-8 エンコーディングに変換されます。

インストール手順

XMLReader 拡張モジュールは、PHP 5.0.0 では PECL から取得可能です。 また、PHP 5.1.0 ではデフォルトで組み込まれ、有効になっています。 configure 時に、引数 --enable-xmlreader (5.1.0 より前では --with-xmlreader) を指定することでも有効にできます。libxml 拡張モジュールが必要です。

定義済みクラス

XMLReader

メソッド

プロパティ

名前 読み込み専用 説明
attributeCount int yes ノード上の属性の数
baseURI string yes ノードのベース URI
depth int yes ツリー内でのノードの階層 (0 から数える)
hasAttributes bool yes ノードが属性を保持しているかどうか
hasValue bool yes ノードがテキストの値を保持しているかどうか
isDefault bool yes 属性が DTD のデフォルトかどうか
isEmptyElement bool yes ノードが空要素のタグかどうか
localName string yes ノードのローカル名
name string yes ノードの限定名
namespaceURI string yes ノードに関連付けられた名前空間の URI
nodeType int yes ノードの型
prefix string yes ノードに関連付けられた名前空間のプレフィックス
value string yes ノードのテキスト値
xmlLang string yes ノードが存在する xml:lang スコープ

定義済み定数

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

警告

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

XMLReader ノード型
定数 説明
XMLReader::NONE (integer) 0 ノード型なし
XMLReader::ELEMENT (integer) 1 開始要素
XMLReader::ATTRIBUTE (integer) 2 属性ノード
XMLReader::TEXT (integer) 3 テキストノード
XMLReader::CDATA (integer) 4 CDATA ノード
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) 13 Whitespace ノード
XMLReader::SIGNIFICANT_WHITESPACE (integer) 14 Significant Whitespace ノード
XMLReader::END_ELEMENT (integer) 15 終了要素
XMLReader::END_ENTITY (integer) 16 終了エンティティ
XMLReader::XML_DECLARATION (integer) 17 XML 宣言ノード
XMLReader パーサオプション
定数 説明
XMLReader::LOADDTD (integer) 1 DTD を読み込むが、妥当性は検証しない
XMLReader::DEFAULTATTRS (integer) 2 DTD およびデフォルト属性を読み込むが、妥当性は検証しない
XMLReader::VALIDATE (integer) 3 DTD を読み込み、パース時に妥当性を検証する
XMLReader::SUBST_ENTITIES (integer) 4 エンティティを参照で置き換える

目次