1

我正在使用simplexml_load_stringphp 的函数将 xml 字符串转换为可用于未来处理的对象。

我这样编码:

simplexml_load_string( $strXml, NULL, LIBXML_NOWARNING );

给出警告信息但正确执行。

好像我这样编码:

simplexml_load_string( $strXml, NULL, LIBXML_ERR_NONE );

未能执行服务。

我已经尝试过LIBXML_ERR_NONE, LIBXML_ERR_ERROR

有什么方法可以获取对象但没有警告消息?

4

2 回答 2

2

这对我有用。

simplexml_load_string($strXml, 'SimpleXMLElement', LIBXML_NOWARNING | LIBXML_NOERROR);
于 2018-12-04T16:17:58.697 回答
1

您可以通过调用libxml_use_internal_errors来抑制这些错误。

libxml_use_internal_errors (true);
$xml = simplexml_load_string($user_input);
if (!$xml) {
    $xml_errors = libxml_get_errors();
    foreach ($xml_errors as $err) {
        var_dump($err);
    }
    libxml_clear_errors();
}

您可能还想查看libxml_get_errorslibxml_clear_errors

于 2018-08-09T19:52:51.740 回答