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 実装の文字列 |