如何检查字符串是否为有效的 XML,而不在 PHP 中显示警告
我试图使用此simplexml_load_string()
Docs函数检查字符串作为xml的有效性,但它显示了很多警告消息。
如何检查字符串是否为有效的XML,而不禁止显示(开头的@
)错误并显示超出规范的警告函数
我试图使用此simplexml_load_string()
Docs函数检查字符串作为xml的有效性,但它显示了很多警告消息。
如何检查字符串是否为有效的XML,而不禁止显示(开头的@
)错误并显示超出规范的警告函数
使用 libxml_use_internal_errors() 禁止显示所有 XML 错误,然后使用 libxml_get_errors() 循环访问这些错误。
libxml_use_internal_errors(true);
$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);
if (!$doc) {
$errors = libxml_get_errors();
foreach ($errors as $error) {
echo display_xml_error($error, $xml);
}
libxml_clear_errors();
}
从文档中:
加载文档时处理 XML 错误是一项非常简单的任务。使用该功能,可以在加载文档时禁止显示所有 XML 错误,然后循环访问这些错误。
libxml
返回的对象包含多个属性,包括错误的 、和 (位置)。
libXMLError
libxml_get_errors()
message
line
column
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if (!$sxe) {
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}