解决 simplexml_load_string 的 parser error 问题

我们使用 simplexml_load_string 加载 XML 字符串的时候,如果 XML 的字符不规范,PHP 会报 parser error 的错误,如果你的系统开启了 error 显示或者写到 log 的话,那么将会有一堆错误,怎么处理呢?我们可以设置自己处理 XML 的错误。

首先使用函数 libxml_use_internal_errors() 关闭 XML 错误,然后使用 libxml_get_errors()获取相关的错误进行自定义处理。

libxml_use_internal_errors(true); $sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>"); if (false === $sxe) { echo "加载 XML 错误\n"; foreach(libxml_get_errors() as $error) { echo "\t", $error->message; } }

最终的输出结果是:

加载 XML 错误

    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1
本博客所有文章如无特别注明均为原创。作者:小乐复制或转载请以超链接形式注明转自 众众帮
原文地址《解决 simplexml_load_string 的 parser error 问题
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)