目录

PHP xml_parse() 函数

❮ PHP XML 解析器参考

示例

创建 XML 解析器并解析 XML 文档(注释.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 文档。

提示:要创建 XML 解析器,请使用xml_parser_create()功能。

语法

xml_parse( parser, data, end)

参数值

Parameter Description
parser Required. Specifies the XML parser to use
data Required. Specifies the data to parse
end Optional. If set to TRUE, the data in the data parameter is the last piece of data sent in this parse. Note: Entity errors are reported at the end of the parse - and will only show if the end parameter is TRUE


技术细节

返回值: 成功则为真。失败时为 FALSE
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 解析器参考