我對python真的很陌生。這實際上是我的第一個腳本,它大部分是一個複製的例子。我有一個XML文件,我需要解析出一個屬性。我得到了那部分,但我的問題是,該屬性並不總是存在於xml文件中。這裏是我的代碼:在python中解析xml有問題
#!/usr/bin/python
#import library to do http requests:
import urllib2
import os
#import easy to use xml parser called minidom:
from xml.dom.minidom import parseString
#download the history:
history = urllib2.urlopen('http://192.168.1.1/example.xml')
#convert to string:
historydata = history.read()
history.close()
#parse the xml you downloaded
dom = parseString(historydata)
xmlTagHistory = dom.getElementsByTagName('loaded')[0].toxml()
xmlDataHistory=xmlTagHistory.replace('<loaded>','').replace('</loaded>','')
print xmlDataHistory
當屬性doesnt存在我得到「IndexError:列表索引超出範圍」的返回。我試圖用這個代碼做的事是讓它在屬性不存在的情況下運行一個命令,或者它是假的。另一個我可能會遇到的問題是,有些時候該屬性會出現多次,所以如果甚至有一個「已加載」的實例爲真,我還需要通過不運行該命令來解決該情況。正如我所說,我真的很新,所以我可以使用我可以得到的所有幫助。非常感激。
你正在解析'loaded'這是一個「元素」。在XML文檔中,「屬性」這個詞指的是「href」所在的類型,如'Example'。 – minopret