2011-06-14 215 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的範圍。