PHP

[PHP]xml_set_end_namespace_decl_handlerとは?名前空間宣言のスコープ終了を検知する方法を徹底解説

はじめにこれまでの記事で、名前空間対応のパーサーを生成する xml_parser_create_ns() を解説し、その中で名前空間宣言の開始を検知する xml_set_start_namespace_decl_handler() に触れま...
PHP

[PHP]xml_set_element_handlerとは?XML要素の開始・終了を検知する最重要ハンドラを徹底解説

はじめにこれまでの記事で xml_set_character_data_handler() や xml_set_default_handler() を解説する中で、必ずと言っていいほど一緒に登場してきたのが xml_set_element_...
PHP

[PHP]xml_set_default_handlerとは?他のハンドラで処理されないXMLデータを捕捉する方法を徹底解説

はじめに前回の記事では、要素内のテキストを取得する xml_set_character_data_handler() を解説しました。SAX方式のXML解析では、要素の開始・終了、テキストデータ、コメント、処理命令など、それぞれ専用のハンド...
PHP

[PHP]xml_set_character_data_handlerとは?XML要素内のテキストを取得するハンドラの登録方法を徹底解説

はじめにこれまでの記事で、xml_parse() を使ったSAX方式のXML解析を数多く紹介してきましたが、その中で頻繁に登場していたのが xml_set_character_data_handler() です。今回はこの関数を正面から取り...
PHP

[PHP]xml_parser_set_optionとは?XMLパーサーの挙動をカスタマイズする方法を徹底解説

はじめに前回の記事では、XMLパーサーの現在の設定値を取得する xml_parser_get_option() を解説しました。今回はその対となる、設定を実際に変更するための関数、xml_parser_set_option() を正面から取...
PHP

[PHP]xml_parser_get_optionとは?XMLパーサーの現在の設定値を取得する方法を徹底解説

はじめに前回までの記事で紹介してきたXMLパーサー関連の関数の中には、xml_parser_set_option() を使ってパーサーの挙動をカスタマイズする例が何度か登場しました(大文字小文字の変換制御、出力エンコーディングの指定など)。...
PHP

[PHP]xml_parser_freeとは?XMLパーサーインスタンスを正しく解放する方法を徹底解説

はじめにこれまでの記事で、xml_parser_create() や xml_parser_create_ns() を使ってXMLパーサーインスタンスを生成する方法を解説してきました。生成したものを最後まで責任を持って後片付けするのが xm...
PHP

[PHP]xml_parser_create_nsとは?XML名前空間に対応したパーサーの使い方を徹底解説

はじめに前回の記事では、ExpatベースのXMLパーサーを生成する基本の関数 xml_parser_create() を解説し、その中で名前空間に対応した兄弟関数 xml_parser_create_ns() の存在に触れました。今回は、こ...
PHP

[PHP]xml_parser_createとは?Expat XMLパーサーインスタンスを生成する方法を徹底解説

はじめにこれまでの記事で、xml_parse() や xml_parse_into_struct() といったXML解析の中心的な関数を数多く解説してきましたが、そのすべての出発点となっているのが、今回取り上げる xml_parser_cr...
PHP

[PHP]xml_parse_into_structとは?XMLを構造化配列に一括変換する方法を徹底解説

はじめに前回の記事では、コールバック関数を個別に登録しながらXMLを解析する xml_parse() を解説しました。ハンドラを自分で書いて要素の開始・終了イベントを処理するSAX方式は柔軟である一方、単純に「XMLの内容を配列として取り出...