Python xml.dom.minidom模式验证
是否有任何纯Python方法可以使用XSD验证XML文件。我的python版本是2.x(2.6/2.7),代码已经在使用Python xml.dom.minidom模式验证,python,xml,validation,python-2.7,xsd,Python,Xml,Validation,Python 2.7,Xsd,是否有任何纯Python方法可以使用XSD验证XML文件。我的python版本是2.x(2.6/2.7),代码已经在使用xml.dom.minidom进行xml解析。关于StackOverflow有很多答案,但大多数都使用ElementTree或lxml 是否有使用xml.dom.minidom的实现?顾名思义,minidom是一个与(dom)API交互的库。正如维基百科所说: 文档对象模型(DOM)是一种跨平台和独立于语言的约定,用于表示HTML、XHTML和XML文档中的对象并与之交互 它并
xml.dom.minidom
进行xml解析。关于StackOverflow有很多答案,但大多数都使用ElementTree或lxml
是否有使用
xml.dom.minidom
的实现?顾名思义,minidom是一个与(dom)API交互的库。正如维基百科所说:
文档对象模型(DOM)是一种跨平台和独立于语言的约定,用于表示HTML、XHTML和XML文档中的对象并与之交互
它并不关注文档的“有效性”,只关注文档的格式是否正确,是否能够被解析和浏览
因此,miniDom没有任何XML验证功能,因为这超出了DOM API的范围。我在使用miniDom时找不到任何东西,所以我使用lxml根据xsd验证XML
from lxml import etree
xmlschema_doc = etree.parse('schema.xsd')
xml_doc = etree.parse('my.xml')
xmlschema = etree.XMLSchema(xmlschema_doc)
if xmlschema.validate(xml_doc):
print 'Valid xml'
else:
print 'Invalid xml'
我们也可以使用
xmlschema.assertValid(xml\u doc)
来引发断言异常是的,但是我认为如果有其他模块可以借助minidom来实现这一点,那么就没有元素树了。我不想使用lxml