语法
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
