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
メソッド
-
XMLReader::close - XMLReader の入力を閉じる
-
XMLReader::expand - 現在のノードを DOM ノードにエクスポートする
-
XMLReader::getAttribute - 名前をもとに、属性の値を取得する
-
XMLReader::getAttributeNo - 位置をもとに、属性の値を取得する
-
XMLReader::getAttributeNs - 名前および URI をもとに、属性の値を取得する
-
XMLReader::getParserProperty - パーサのプロパティが設定されているかどうかを示す
-
XMLReader::isValid - 妥当なドキュメントであるかどうかを示す
-
XMLReader::lookupNamespace - ノードのスコープで、プレフィックスの URI を取得する
-
XMLReader::moveToAttribute - リーダを、指定した名前の属性に移動する
-
XMLReader::moveToAttributeNo - リーダを、指定したインデックスの属性に移動する
-
XMLReader::moveToAttributeNs - リーダを、指定した名前および URI の属性に移動する
-
XMLReader::moveToElement - 現在の属性ノードの親要素に移動する
-
XMLReader::moveToFirstAttribute - ノードの最初の属性に移動する
-
XMLReader::moveToNextAttribute - ノードの次の属性に移動する
-
XMLReader::next - 子を飛ばして、次の要素に移動する
-
XMLReader::open - パースする URI を設定する
-
XMLReader::read - ストリーム内の次のノードに移動する
-
XMLReader::setParserProperty - パーサのプロパティを設定する
-
XMLReader::setRelaxNGSchema - 妥当性を検証するための RelaxNG スキーマの URI を設定する
-
XMLReader::setRelaxNGSchemaSource - 妥当性を検証するための RelaxNG スキーマを含む文字列を設定する
-
XMLReader::XML - パースする文字列データを設定する
プロパティ
名前 | 型 | 読み込み専用 | 説明 |
---|---|---|---|
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::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::LOADDTD (integer) | 1 | DTD を読み込むが、妥当性は検証しない |
XMLReader::DEFAULTATTRS (integer) | 2 | DTD およびデフォルト属性を読み込むが、妥当性は検証しない |
XMLReader::VALIDATE (integer) | 3 | DTD を読み込み、パース時に妥当性を検証する |
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 を含むデータを設定する