我使用python2.7和lxml来验证一个带有RelaxNG的大型xml文件。当xml没有正确验证时,我得到的结果并不准确,因为问题的位置和性质。通常它只是说:“Element ElementName failed to validate content”(Element ElementName未能验证内容),其中ElementName只是最顶层元素的名称。在
当我在Java中使用相同的xml和相同的relaxng文件时,我得到了错误所在的确切行号。 下面是我使用的代码:
from lxml import etree as ET
def ValidateXMLWithRNG(rng_file, xml_file):
isXMLValid = False
try:
doc = ET.ElementTree()
doc.parse(xml_file)
relaxng = ET.RelaxNG(file=rng_file)
isXMLValid = relaxng.assert_(doc)
except BaseException as ex:
log = relaxng.error_log
print log.last_error
return isXMLValid
有没有办法从lxml和RelaxNG得到更精确的结果?在
目前没有回答
相关问题 更多 >
编程相关推荐