什么是最好的xml解析器,特别是对于格式不正确且缺少<?xml
标记的XML?
我不能使用simpleXML,因为它会因为无效而出现错误。我知道我可以在获取xml后手动添加所需的标记,但我更喜欢看看你们认为在php中将xml解析为数组的最佳方法是什么。
什么是最好的xml解析器,特别是对于格式不正确且缺少<?xml
标记的XML?
我不能使用simpleXML,因为它会因为无效而出现错误。我知道我可以在获取xml后手动添加所需的标记,但我更喜欢看看你们认为在php中将xml解析为数组的最佳方法是什么。
SimpleXML
,并通过libxml_use_internal_errors(false);
禁用错误。如果SimpleXML无法使用您的字符串,我个人会使用DOM
来解析/修复损坏的XML。
另一方面,为什么不在读取之前简单地添加<?xml
字符呢?
<?php
//invalid xml file
$xmlfile = 'test.xml';
$xmlparser = xml_parser_create();
// open a file and read data
$fp = fopen($xmlfile, 'r');
$xmldata = fread($fp, 4096);
xml_parse_into_struct($xmlparser,$xmldata,$values);
xml_parser_free($xmlparser);
print_r($values);
?>
<?xml
前言并不足以使其无效。你解析文档时遇到了哪些确切的问题?能否展示一些文档或错误信息的例子? - Francis Avila