语法
xml_set_processing_instruction_handler(parser,handler)
为 parser 参数指定的 XML 解析器建立处理指令(PI)处理器函数。
参数
Parameter | 说明 |
---|---|
parser | 这是必需的参数。XML 解析器的引用,用于建立处理指令(PI)处理器。 |
handler | 这是必需的参数。参数 handler 为表示函数名称的字符串,函数必须在为 parser 指定的解析器调用 xml_parse() 函数时已存在。 |
由 handler 参数命名的函数名必须接受三个参数:
参数 | 说明 |
---|---|
parser | 这是必需的参数。指定一个变量,该变量包含调用处理程序的XML解析器。 |
target | 这是必需的参数。它指定一个包含处理指令目标的变量。是一个PI 对象(PI target)。 |
data | 这是必需的参数。它指定一个包含处理指令数据的变量。 包含了 PI 数据。 |
PHP XML解析器函数 xml_set_processing_instruction_handler函数示例
XML代码
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="default.xsl" type="text/xml"?> <message> <to>User</to> <from>Onitroad Team</from> <heading>Welcome </heading> <body>xml body</body> </message>
php代码
<?php $xml_parser=xml_parser_create(); function char($xml_parser,$xml_data) { echo $xml_data; } function pi_handler($xml_parser, $target, $xml_data) { echo "Target: $target<br />"; echo "Data: $xml_data<br />"; } xml_set_character_data_handler($xml_parser,"char"); xml_set_processing_instruction_handler($xml_parser, "pi_handler"); $fp=fopen("test1.xml","r"); while ($xml_data=fread($fp,4096)) { xml_parse($xml_parser,$xml_data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser); ?>
日期:2020-06-02 22:15:40 来源:oir作者:oir