Php/func xml set element handler

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

PHP xml_set_element_handler()函数

❮PHP XML分析器参考

指定在XML文档中元素的开头和结尾处要调用的函数( note.xml

):

<?php

  $parser=xml_parser_create();

function start($parser,$element_name,$element_attrs) 
  {
  switch($element_name) {
    case "NOTE":
    echo "NOTE<br>";
    break;

     
  case "TO":
    echo "To: ";
    break;
    case "FROM":
    echo "From: ";

     
  break;
    case "HEADING":
    echo "Heading: ";
    break;
    case "BODY":

     
  echo "Message: ";
  }
}

function stop($parser,$element_name) {

  echo "<br>";
}

function char($parser,$data) {
echo $data;
}


//  Specify functions to be called at the start and end of an 
    element in the XML document
xml_set_element_handler($parser,"start","stop");

  xml_set_character_data_handler($parser,"char");
$fp=fopen("note.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);

  fclose($fp);

?>

定义和用法

xml_set_element_handler()函数指定要在XML文档中元素的开头和结尾处调用的函数。

注意: The start and end 参数也可以是包含对象引用和方法名称的数组。

句法

xml_set_element_handler(parser, start, end)



参数值

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

需要。指定在元素开始处要调用的函数。该函数必须具有三个参数:

  • $ parser-包含调用处理程序的XML解析器的变量
  • $ name-包含元素名称的变量,该元素以字符串形式从XML文件中触发此功能
  • $ data-一个包含XML文件中的elements属性作为字符串的数组
end

需要。指定在元素末尾要调用的函数。该函数必须具有两个参数:

  • $ parser-包含调用处理程序的XML解析器的变量
  • $ name-包含元素名称的变量,该元素以字符串形式从XML文件中触发此功能

技术细节

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

❮PHP XML分析器参考