PHP XML パーサー関数 リファレンス

PHP XML パーサー関数は XML ドキュメントをパースしますが、検証は行いません。

XML は構造化された文書の交換のためのデータ形式です。

この拡張機能は Expat XML パーサーを使用します。

Expat はイベントベースのパーサーで、XML文書を一連のイベントとして扱います。イベントが発生すると、指定された関数がそれを処理します。

Expatは非検証パーサーであり、文書にリンクされたDTDを無視します。ただし、文書が形式に合わない場合はエラーメッセージで終了します。

イベントベースかつ非検証のため、Expat はウェブアプリケーションに適しており、高速です。

XML パーサー関数を使用すると、XML パーサーを作成し、XML イベント用のハンドラを定義できます。

インストール

XML関数はPHPにデフォルトで組み込まれています。したがってこれらの関数を使用するための特別なインストールは必要ありません。


<?php
// XML 文書をパースする例
$xml = "<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>";
$parser = xml_parser_create();
xml_parse($parser, $xml);
xml_parser_free($parser);
?>

関数一覧

関数名 説明
utf8_decode() UTF-8 文字列を ISO-8859-1 にデコードします。
utf8_encode() ISO-8859-1 文字列を UTF-8 にエンコードします。
xml_error_string() XML パーサーからエラー文字列を返します。
xml_get_current_byte_index() XML パーサーから現在のバイトインデックスを返します。
xml_get_current_column_number() XML パーサーから現在の列番号を返します。
xml_get_current_line_number() XML パーサーから現在の行番号を返します。
xml_get_error_code() XML パーサーからエラーコードを返します。
xml_parse() XML 文書をパースします。
xml_parse_into_struct() XML データを配列にパースします。
xml_parser_create_ns() 名前空間サポートを持つ XML パーサーを作成します。
xml_parser_create() XML パーサーを作成します。
xml_parser_free() XML パーサーを開放します。
xml_parser_get_option() XML パーサーからオプションを取得します。
xml_parser_set_option() XML パーサーにオプションを設定します。
xml_set_character_data_handler() XML パーサーの文字データハンドラを設定します。
xml_set_default_handler() XML パーサーのデフォルトデータハンドラを設定します。
xml_set_element_handler() XML パーサーの開始および終了要素ハンドラを設定します。
xml_set_end_namespace_decl_handler() 終了名前空間宣言ハンドラを設定します。
xml_set_external_entity_ref_handler() 外部エンティティ参照ハンドラを設定します。
xml_set_notation_decl_handler() 注記宣言ハンドラを設定します。
xml_set_object() オブジェクト内で XML パーサーを使用できるようにします。
xml_set_processing_instruction_handler() 処理命令ハンドラを設定します。
xml_set_start_namespace_decl_handler() 開始名前空間宣言ハンドラを設定します。
xml_set_unparsed_entity_decl_handler() 解析されていないエンティティ宣言のハンドラ関数を設定します。

PHP XML パーサー定数

定数 説明
XML_ERROR_NONE エラーなし
XML_ERROR_NO_MEMORY メモリ不足
XML_ERROR_SYNTAX 構文エラー
XML_ERROR_NO_ELEMENTS 要素がありません
XML_ERROR_INVALID_TOKEN 無効なトークン
XML_ERROR_UNCLOSED_TOKEN 閉じられていないトークン
XML_ERROR_PARTIAL_CHAR 不完全な文字
XML_ERROR_TAG_MISMATCH タグの不一致
XML_ERROR_DUPLICATE_ATTRIBUTE 重複した属性
XML_ERROR_JUNK_AFTER_DOC_ELEMENT 文書要素の後のジャンク
XML_ERROR_PARAM_ENTITY_REF パラメータエンティティ参照
XML_ERROR_UNDEFINED_ENTITY 未定義のエンティティ
XML_ERROR_RECURSIVE_ENTITY_REF 再帰的なエンティティ参照
XML_ERROR_ASYNC_ENTITY 非同期エンティティ
XML_ERROR_BAD_CHAR_REF 不正な文字参照
XML_ERROR_BINARY_ENTITY_REF バイナリエンティティ参照
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF 属性外部エンティティ参照
XML_ERROR_MISPLACED_XML_PI 誤った位置の XML PI
XML_ERROR_UNKNOWN_ENCODING 未知のエンコーディング
XML_ERROR_INCORRECT_ENCODING 正しくないエンコーディング
XML_ERROR_UNCLOSED_CDATA_SECTION 閉じられていない CDATA セクション
XML_ERROR_EXTERNAL_ENTITY_HANDLING 外部エンティティの処理
XML_OPTION_CASE_FOLDING 大文字と小文字の区別を行わない
XML_OPTION_TARGET_ENCODING ターゲットエンコーディング
XML_OPTION_SKIP_TAGSTART タグの開始をスキップする
XML_OPTION_SKIP_WHITE 空白をスキップする
XML_SAX_IMPL SAX 実装の文字列