xml_set_element_handler() 関数は、XML ドキュメント内の要素の先頭と末尾で呼び出される関数を指定します。
成功すると、関数は TRUE を返します。失敗した場合は FALSE を返します。
xml_set_element_handler(パーサー,開始,終了)
パラメータ | 説明する |
---|---|
パーサー | 必須。使用する XML パーサーを指定します。 |
始める | 必須。要素の先頭で呼び出す関数を指定します。 |
終わり | 必須。要素の最後で呼び出される関数を指定します。 |
「start」パラメータで指定された関数には、次の 3 つのパラメータが必要です。
パラメータ | 説明する |
---|---|
パーサー | 必須。プロセッサを呼び出す XML パーサーを含む変数を指定します。 |
名前 | 必須。この関数をトリガーする XML ファイル内の要素の名前 (文字列として) を含む変数を指定します。 |
データ | 必須。 XML ファイル内の要素属性を (文字列として) 含む配列を指定します。 |
「end」パラメータで指定された関数には、次の 2 つのパラメータが必要です。
パラメータ | 説明する |
---|---|
パーサー | 必須。プロセッサを呼び出す 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: 今週末は私を忘れないでください!