Php/func xml set processing instruction handler

来自菜鸟教程
跳转至:导航、​搜索

PHP xml_set_processing_instruction_handler()函数

❮PHP XML分析器参考

创建一个XML解析器,设置字符数据处理程序,设置PI处理程序,并解析XML文档( note_pi.xml

):

<?php
$parser=xml_parser_create();



function char($parser,$data) {

  echo $data;

  }



function pi_handler($parser, $target, $data) {

  echo "Target: $target<br />";

  echo "Data: $data<br />";

  }



xml_set_character_data_handler($parser,"char");
// Set up PI 
  handler

xml_set_processing_instruction_handler($parser, "pi_handler");

$fp=fopen("note_pi.xml","r");



while ($data=fread($fp,4096)) {

  xml_parse($parser,$data,feof($fp)) or 

  die (sprintf("XML Error: %s at line %d", 

  xml_error_string(xml_get_error_code($parser)),

  xml_get_current_line_number($parser)));

  }

xml_parser_free($parser);

  ?>

定义和用法

xml_set_processing_instruction_handler()函数指定当解析器在XML文档中找到处理指令(PI)时要调用的函数。

PI包含在<?和?>,并包含目标和数据。

例: 在这种情况下,PI将样式表与XML文档相关联:

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet href="default.xsl" type="text/xml"?>

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>

注意: 该处理程序参数也可以是包含对象引用和方法名称的数组。

句法

xml_set_processing_instruction_handler(parser, handler)

参数值

参数 描述
parser 需要。指定要使用的XML解析器
handler

需要。指定用作事件处理程序的函数。该函数必须接受三个参数:

  • $ parser-包含调用处理程序的XML解析器的变量
  • $ target-包含PI目标的变量
  • $ data-包含PI数据的变量

技术细节

返回值: 成功则为真。失败时为假
PHP版本: 4.0+

❮PHP XML分析器参考