首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >php中的SimpleXML设置xml验证限制。

php中的SimpleXML设置xml验证限制。
EN

Stack Overflow用户
提问于 2015-06-02 10:22:42
回答 1查看 408关注 0票数 2

我正在寻找PHP中的XML解析器,在这里我们可以在XML验证上设置限制级别。基本上,我希望将XML解析器设置为这样一种方式,即解析器不验证值,而它只是验证标记。我试过SimpleXML / DOM,我没能找到。

更多信息

例如:

代码语言:javascript
代码运行次数:0
运行
复制
<XMLtag1>
   <XMlTag2>&amp;#1;&amp;#1;&amp;#1;&amp;#1;&amp;#1;/XMlTag2>
   <XMlTag3>&amp;#1;&amp;#1;&amp;#1;&amp;#1;&amp;</XMlTag3>
   <XMlTag3>`Rb&amp;#3;&amp;#3;</XMlTag3>
</XMLtag1>

在上面的XML解析器中,将验证这些值,并且它会给出一些错误,比如xmlParseCharRef,我想避免这种错误。

更清楚我的问题,

我得到了一个XML文件,当我试图解析它时,会得到一个错误,如这里的堆栈溢出问题所描述的那样。

XML encoding setup and specific charsets

在那里给出的答案对我来说并不令人满意。因此,实际上,您可以看到XML解析器正在尝试解码&#xx格式。我不想这样。

有什么帮助吗?谢谢菲利普。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-02 11:59:03

SimpleXML/DOM只验证文档的格式是否良好-- XML语法是否正确。高级验证可以用DOM完成。

  • DOMDocument::validate()根据定义的DTD验证当前文档。
  • DOMDocument::schemaValidate[Source]()对给定架构进行验证
  • DOMDocument::relaxNGValidate[Source]()对给定的RelaxNG进行验证

哪些元素、属性和值被定义为DTD/Schema/RelaxNG。

XML文档必须有良好的格式。这不是验证问题,而是如果XML包含致命的语法错误,解析器就无法读取XML。并不是所有的语法错误都是致命的,如果您对结果满意,可以忽略一些错误。

如果XML包含致命的语法错误,则必须使用字符串函数或正则表达式来修复它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30593422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档