我正在尝试使用php解析xml文档
第二行有错误的xml文档:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to/>receiver</to>
<from>sender</from>
<subject>subject comes here</subject>
</note>
用于解析此文档的PHP代码:
<?php
$parser=xml_parser_create();
function start($parser,$e_name,$e_att)
{
switch($e_name)
{
case "note":
echo "-- note --<br>";
break;
case "TO":
echo "to : ";
break;
case "FROM":
echo " from ";
break;
case "SUBJECT":
echo " subject : ";
break;
}
}
function stop($parser,$e_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("error.xml","r");
//Read data
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)));
}
//Free the XML parser
xml_parser_free($parser);
?>
我收到错误:
XML错误:第3行的标记不匹配
它会导致提前解析文档,但我还需要解析剩余的文档。
因为<to/>
喜欢html单一标签,请帮助我,我只是想知道
如何跳过此类错误并继续阅读具有此类内容的html / xml文档
使用php xml解析。