我想解析一個XML文件使用lxml。 xml.etree允許我簡單地將文件名作爲參數傳遞給parse
函數,所以我試圖用lxml做同樣的事情。如何將xml文件傳遞給lxml來解析?
我的代碼:
from lxml import etree
from lxml import objectify
file = "C:\Projects\python\cb.xml"
tree = etree.parse(file)
,但我得到的錯誤:
Traceback (most recent call last):
File "cb.py", line 5, in <module>
tree = etree.parse(file)
File "lxml.etree.pyx", line 2698, in lxml.etree.parse (src/lxml/lxml.etree.c:4
9590)
File "parser.pxi", line 1491, in lxml.etree._parseDocument (src/lxml/lxml.etre
e.c:71205)
File "parser.pxi", line 1520, in lxml.etree._parseDocumentFromURL (src/lxml/lx
ml.etree.c:71488)
File "parser.pxi", line 1420, in lxml.etree._parseDocFromFile (src/lxml/lxml.e
tree.c:70583)
File "parser.pxi", line 975, in lxml.etree._BaseParser._parseDocFromFile (src/
lxml/lxml.etree.c:67736)
File "parser.pxi", line 539, in lxml.etree._ParserContext._handleParseResultDo
c (src/lxml/lxml.etree.c:63820)
File "parser.pxi", line 625, in lxml.etree._handleParseResult (src/lxml/lxml.e
tree.c:64741)
File "parser.pxi", line 565, in lxml.etree._raiseParseError (src/lxml/lxml.etr
ee.c:64084)
lxml.etree.XMLSyntaxError: AttValue: " or ' expected, line 2, column 26
我在做什麼錯?
正如在接受的答案中所說的,'lxml'在這裏沒有任何問題,所以對問題進行了低估。也許重新命名問題的標題將避免錯誤地搜索此模塊上的問題。 – 2011-10-18 08:41:15
@Joel - 我的問題標題並不意味着'lxml'有什麼問題 - 只是我將文件傳遞給lxml解析的方式可能有問題。如果你可以建議一個替代標題,那麼我會很樂意承認(從你的評論中你不清楚你認爲我應該改變它)。 – BeeBand 2011-10-20 15:10:11
嗡嗡聲。奇怪的是,我現在可以看到標題沒有錯:/所以也許我錯過了正確的問題,並錯誤地勾選了你的問題!而且,如果不編輯問題,我無法刪除downvote。如果你做一些編輯來解鎖它,我很樂意糾正我的錯誤。 – 2011-10-20 15:42:18