2016-09-15 31 views
0

所以,我想在Python上處理XML文件。在Python 2.1上讀取XML

我使用minidom,因爲我在Python 2.1中,並且沒有更改到3.6。目前,我有這個

import xml.dom.minidom as minidom 
import socket 
print 'Getting the xml file' 
# Get the xml contents 
file = open('<filepath>') 
#print file 
# Get the root of the configuration file 
print 'Parsing the xml' 
procs = minidom.parse(file) 

但我發現了這個錯誤

Error getting

任何想法?或者,更好的,另一種方式來解析XML沒有我不得不寫我自己的解析器...

+0

你確定是2.1的版本是否正確? –

+1

是否升級到2.7選項? –

+0

你可以安裝第三方模塊嗎?查看與lxml的舊版本的兼容性會很有趣... –

回答

1

所以,我能得到這個工作

對於初學者來說,試圖說服更新或安裝後一個插件,我被告知所有的Python腳本運行在jython,這意味着,我有幾個Java庫我的處置(希望他們可以告訴我這很快)

所以,經過對XML處理的一些調查我發現使用Xercesxas是關鍵

這是代碼,我終於用,如果任何人想知道

from java.io import StringReader 

import org.xml.sax as sax 
import org.apache.xerces.parsers.DOMParser as domparser 

parser = domparser() 
document = open('<path to file>').read() 
parser.reset() 
documentIS = sax.InputSource(StringReader(document)) 
parser.parse(documentIS) 
domtree = parser.getDocument() 
results = domtree.getElementsByTagName('<tag name>') 
for ix in range(results.getLength()): 
    item = results.item(ix).getAttribute("<attribute name>") 

希望別人發現這個有用