例 -- XML_Parser 使用の例

基本的な例

この基本的な例では、要素の開始と終了(つまり、開始タグと終了タグ) および文字データ (タグの間の "内容") を処理する単純なパーサを示します。

require_once 'XML/Parser.php';

class myParser extends XML_Parser
{
  function myParser()
  {
    parent::XML_Parser();
  }

 /**
  * 要素の開始の処理
  *
  * @access private
  * @param  resource  xml パーサのリソース
  * @param  string    要素の名前
  * @param  array     属性
  */
  function startHandler($xp, $name, $attribs)
  {
    printf('次の開始タグを処理します: %s<br />', $name);
  }

 /**
  * 要素の終了の処理
  *
  * @access private
  * @param  resource  xml パーサのリソース
  * @param  string    要素の名前
  */
  function endHandler($xp, $name)
  {
    printf('次の終了タグを処理します: %s<br />', $name);
  }

 /**
  * 文字データの処理
  *
  * @access private
  * @param  resource  xml parser resource
  * @param  string    character data
  */
  function cdataHandler($xp, $cdata)
  {
    // ここでは何もしていませんが、例えば print $cdata などを行います。
  }
}

$p = &new myParser();

$result = $p->setInputFile('xml_parser_file.xml');
$result = $p->parse();

このパーサは、単に、文書のパース中に見つかった開始タグと終了タグの 名前を出力するだけのものです。