【发布时间】:2015-08-16 02:07:40
【问题描述】:
我正在寻找 PHP 中的 XML 解析器,我们可以在其中设置 XML 验证的限制级别。基本上,我想以这样一种方式设置 XML 解析器,即解析器不验证值而只验证标签。我试过SimpleXML / DOM 找不到。
更多信息。
例如:
<XMLtag1>
<XMlTag2>&#1;&#1;&#1;&#1;&#1;/XMlTag2>
<XMlTag3>&#1;&#1;&#1;&#1;&</XMlTag3>
<XMlTag3>`Rb&#3;&#3;</XMlTag3>
</XMLtag1>
在上面的 XML 解析器将验证值,它可能会给出一些错误,例如 xmlParseCharRef 我想避免这种情况。
更清楚我的问题。
我得到了一个 XML 文件,当我试图解析它时,出现了一个错误,如此处的 stackoverflow 问题所述
那边给出的答案让我不满意。所以在这里实际上您可以看到 XML 解析器正在尝试解码 x 格式。我不想要那个。
有什么帮助吗? 谢谢 菲利普。
【问题讨论】:
-
不知道我明白了。您能否编辑该问题并提供一个您希望验证器忽略的无效 XML 示例?
-
您可以定义自己的解析器及其规则 - php.net/manual/en/book.xml.php
-
@ÁlvaroG.Vicario :在问题中添加了更多详细信息。
-
我不明白。您的示例无效只是因为您在
</XMlTag2>中缺少<。把它加进去,然后SimpleXML parses it without issuing any errors at all。我不知道“验证值”是什么意思。 -
抱歉,我还是不明白。如果您想要一个不对格式错误的 XML 发出警告且不验证实际值(如“符合给定 XML 模式”)的验证器,您要验证什么?你可以只写一行:
function isValid($xml){ return true; }。您是否只是想消耗一些您拥有的无效 XML?
标签: php xml validation simplexml