2011-06-14 158 views
1

我想解析python中的XML文件,它也应该根据XSD进行验证。当我将XSD添加到XML标题时,我已经使用minidom来解析XML文件,看起来它不是所有的验证XML对XSD。如何在python中使用minidom解析器解析xml文件

你可以请让我知道如何使用minidom实现这个?

等待你的答复

+1

您可能会考虑使用lxml而不是minidom。 lxml能够对[XSD]进行验证(http://lxml.de/validation.html)。 – Raceyman 2011-06-14 12:46:53

+0

所以你的意思是说minidom不具备验证XSD的能力吗?请问lxml会返回像minidom这样的doc元素,这样我就可以使用lxml进行xsd验证,并且不会更改我的代码的其余部分 – suresh 2011-06-15 04:17:49

+0

我不是minidom的专家,但我不相信它能够进行XSD验证。但是,它应该能够解析任何形式正确的XML。您可能会发现使用lxml可以更简单地完成相同的工作,并且lxml验证程序可以使用您的xsd验证xml并报告数据无效的位置。即使你不使用它,我也会建议去我提供的lxml链接并进行环顾。 – Raceyman 2011-06-15 12:41:10

回答

0

顾名思义,minidom命名是与Document Object Model(DOM)API交互的库。正如wikipedia所述:

文档对象模型(DOM)是一种用于表示HTML和XHTML和XML文档中的对象并与其交互的跨平台和独立于语言的约定。

它并不关注文档的“有效性”,只是它的格式良好并且能够被解析和浏览。

因此,miniDom将不具备任何XML验证功能,因为这超出了DOM API的范围。