PHP xml_set_default_handler()関数


PHP XML 参考手册完全な PHP XML リファレンスマニュアル

定義と使用法

xml_set_default_handler() 関数は、XML パーサーにデフォルトのデータハンドラーを設定します。

この関数は、パーサーが XML ファイル内でデータを見つけるたびに呼び出される関数を指定します。

成功した場合は TRUE を返します。失敗した場合は FALSE を返します。

構文

xml_set_default_handler(parser,handler)

パラメータ 説明
parser 必須。使用する XML パーサーを指定します。
handler 必須。イベントハンドラーとして使用する関数を指定します。

"handler" パラメータで指定する関数には、2つのパラメータが必要です:

パラメータ 説明
parser 必須。ハンドラーを呼び出す XML パーサーを保持する変数を指定します。
data 必須。XML ファイル内のデータ(文字列として)を保持する変数を指定します。


ヒントと注釈

注釈:handler パラメータは、オブジェクト参照とメソッド名を含む配列にすることもできます。


例

XML ファイル

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

PHP コード

<?php
$parser=xml_parser_create();

function default($parser,$data)
{
echo $data;
}

xml_set_default_handler($parser,"default");
$fp=fopen("test.xml","r");

while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}

xml_parser_free($parser);
?>

上記のコードの出力は次のとおりです:

Tove Jani Reminder Don't forget me this weekend!

ブラウザウィンドウで「ソースを表示」を選択すると、次のような HTML が表示されます:

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


PHP XML 参考手册完全な PHP XML リファレンスマニュアル その他の拡張機能