XML文件的语法检查


大量阅读后,我了解验证XML文件的最佳方法是使用XML模式(XSD文件)。

就我而言,我想做一个动态程序,对XML文件进行语法检查。

  1. 动态表示我的程序不是硬编码的
  2. 通过语法检查,我的意思是它只是检查元素是否符合规则 (例如:元素的值只能在数字0 -150之间)

我选择的编程语言是Python,但Java是另一种选择。

结论: 我已经读过有关使用ElementTree进行解析以及使用lxml使用XSD验证XML文件的信息,但是我不想为收到的每个稍有不同的XML文件创建一个新的XSD。我似乎找不到任何有关仅使用Python编程进行语法检查XML文件的文章。 打开任何建议。

chitow 回答:XML文件的语法检查

对于初学者,您说过要不要对该程序进行硬编码。我相信您的意思是您不希望它运行差异以检查是否存在差异。您想创建一种方法来确保xml文档遵循“您的规则”,该规则可以是默认模式文档,也可以只是被检查的编程语法规则。显然,这可以通过几种不同的方式来完成。这在很大程度上取决于您需要检查的规则的复杂性。如果您对dog xml对象有规则,则它们必须具有tail属性,并且您要检查其长度是否在一定范围内。您需要具有xml结构概念的选项,该对象具有类似于dog的对象,然后只需要编写规则来检查那些对象的属性。本指南对如何制作XSD文档给出了非常简洁的指导。 https://www.w3schools.com/xml/schema_example.asp本文档向您展示如何在文件中创建规则。

<xs:simpleType name="orderidtype">
  <xs:restriction base="xs:string">
    <xs:pattern value="[0-9]{6}"/>
  </xs:restriction>
</xs:simpleType>

现在,如果您只想在python中以自己的方式进行操作,则可以使用lxml加载文档。然后使用lxml.etree.parser()来解析制定规则,以了解如何格式化每种对象类型并检查每个不同的规则。确保使用所拥有的有关将要接收的xml文档的格式和结构的所有知识,以最大程度地减少编写程序以检查它们所需的规则的复杂性。 https://lxml.de/parsing.html

本文链接:https://www.f2er.com/3131891.html

大家都在问