php

SAXを使ってみる

DOMと並んでXML文書を扱う仕様として出てくるのが、
SAX(Simple API for XML)です。
SAXは、XML文書を先頭から読み込んで、そこに出てくる要素や
テキストに応じて処理をします。

SAXでは、XML文章v風の要素の開始・終了、テキストの出現したときに、
ハンドラ(handler)と呼ばれるしくみに
通知を行います。ハンドラに関数を登録しておくと、文書の各部分が
現れたときにその関数が呼ばれるようになっています。

どの名前のメソッドが呼ばれるかは、SAXの使用で決まっています。
このため、ハンドラに登録する関数を書いておくことで、
各部分に応じた処理をするコードを作成できます。

実際にコードを見た方が早いです。
サンプルコードの実行結果はこちら

関数名 戻り値 説明
xml_parser_create() resource SAXパーサーを作成
xml_set_elemment_handler(resource $prs,callback $shdlr,callback $endlr) boolean 要素の開始ハンドラ・
終了ハンドラを設定する
xml_set_character_data_handler(resource $prs,callback $shdlr,callback $hdlr) boolean 文字の処理を解析
xml_parse(resource $prs,string $data) integer XML文書を解析
xml_parser_free(resource $prs) boolean SAXパーサーを解放

-php
-