PHP xml_parse()関数
例
XMLパーサーを作成し、XMLドキュメントを解析します(note.xml):
<?php
// XMLパーサーを作成する
$parser=xml_parser_create();
function char($parser,$data) {
echo $data;
}
xml_set_character_data_handler($parser,"char");
$fp=fopen("note.xml","r");
while ($data=fread($fp,4096)) {
// XMLデータを解析する
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);
fclose($fp);
?>
定義と使用法
xml_parse( 関数は、XMLドキュメントを解析します。
ヒント:XMLパーサーを作成するには、xml_parser_create()関数を使用します。
構文
xml_parse(parser, data, end)
パラメータ値
パラメータ |
説明 |
---|---|
parser | 必要。使用するXMLパーサーを指定します。 |
data | 必要。解析するデータを指定します。 |
end | オプション。TRUEに設定すると、dataパラメーターのデータは、この解析で送信される最後のデータになります。注:エンティティエラーは解析の最後に報告され、終了パラメータがTRUEの場合にのみ表示されます。 |
技術的な詳細
戻り値: |
成功した場合はTRUE。失敗した場合はFALSE |
---|---|
PHPバージョン: |
4.0+ |
その他の例
例
同じXMLファイルを使用して、XMLデータを別の方法で表示します。
<?php
$parser=xml_parser_create();
function start($parser,$element_name,$element_attrs) {
switch($element_name) {
case "NOTE":
echo "NOTE<br>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}
function stop($parser,$element_name) {
echo "<br>";
}
function char($parser,$data) {
echo $data;
}
xml_set_element_handler($parser,"start","stop");
xml_set_character_data_handler($parser,"char");
$fp=fopen("note.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);
fclose($fp);
?>
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。