xml_parse() 関数は XML ドキュメントを解析します。
成功すると、関数は TRUE を返します。失敗した場合は FALSE を返します。
xml_parse(パーサー,xml,終了)
パラメータ | 説明する |
---|---|
パーサー | 必須。使用する XML パーサーを指定します。 |
XML | 必須。解析する XML データを指定します。 |
終わり | オプション。このパラメータが TRUE の場合、「xml」パラメータ内のデータは現在の解析における最後のデータです。 注:エンティティ エラーは、「end」パラメータが TRUE の場合にのみ、解析の終了時に報告されます。 |
ヒント: XML パーサーを作成するには、xml_parser_create() 関数を使用します。
XMLファイル
<?xml version="1.0"coding="ISO-8859-1"?><note><to>トーベ</to><from>ジャニ</from><見出し>リマインダー</見出し><本文>ドン今週末は私を忘れないでください!</body></note>
PHPコード
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data; }xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r") ;while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) またはdie (sprintf("XML エラー: %s 行 %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
上記のコードの出力は次のようになります。
トーベ ジャニ リマインダー 今週末は私を忘れないでください!
同じ XML ファイルを使用しますが、XML データを異なる方法で表示します。
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Note --<br />"; "TO": エコー "To: "; ケース "FROM": エコー "ヘディング": ブレイク; echo "メッセージ: "; } }function stop($parser,$element_name) { echo "<br />" }function char($parser,$data) { echo $data($parser,"start") ,"stop");xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) または die (sprintf("XML エラー: %s 行 %d", xml_error_string(xml_get_error_code($parser) ))、xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
上記のコードの出力は次のようになります。
-- 注 --To: ToveFrom: JaniHeading: ReminderMessage: 今週末は私を忘れないでください!