Php/func xml parse

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

PHP xml_parse()函数

❮PHP XML分析器参考

创建XML解析器并解析XML文档( note.xml

):

  <?php
// Create an XML parser
$parser=xml_parser_create();


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


  xml_set_character_data_handler($parser,"char");
$fp=fopen("note.xml","r");


while ($data=fread($fp,4096)) {
  // Parse XML data
  
  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_parse()函数解析XML文档。

Tip: 要创建XML解析器,请使用 xml_parser_create()

功能。

句法

xml_parse(parser, data, end)

参数值

参数 描述
parser 需要。指定要使用的XML解析器
data 需要。指定要解析的数据
end 可选的。如果设置为TRUE,则

data 参数是此解析中发送的最后一条数据。 注意: 实体错误会在解析结束时报告-仅在 end 参数为TRUE

技术细节

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

更多例子

使用相同的XML文件,但以另一种方式显示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;
}


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);

?>

❮PHP XML分析器参考