IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    如何解决 simplexml_load_string 的 parser error 问题

    Denis | 邓鸿华发表于 2023-12-11 03:53:25
    love 0

    我们使用 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("");
    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

    © WordPress果酱 / RSS 订阅 / 长期承接 WordPress 项目



沪ICP备19023445号-2号
友情链接