PHP xml_set_character_data_handler() 関数
定義と使用法
xml_set_character_data_handler() 関数は文字データハンドラを構築します。
この関数は、解析器が XML ファイル内で文字データを見つけたときに呼び出される関数を規定します。
もしハンドラが成功して作成された場合、この関数は true を返します;それ以外の場合は false を返します。
文法
xml_set_character_data_handler(parser,handler)
引数 | 記述 |
---|---|
parser | 必需。使用する XML 解析器を規定。 |
handler | 必需。イベントハンドラとして使用される関数を規定。 |
由 handler 引数规定的関数は必ずしも二つの引数を持たなければならない:
引数 | 記述 |
---|---|
parser | 必需。規定一個変数,包含调用处理器的 XML 解析器。 |
data | 必需。規定包含字符数据的変数。 |
説明
handler パラメータはまた、オブジェクト参照とメソッド名を含む配列であっても良い。
例
XML ファイル:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>リマインダー</heading> <body>会議を忘れないで!</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)) or die (sprintf("XML エラー: %s 行 %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>
出力:
George John リマインダー 会議を忘れないで!