Python讀取XML文檔正確應(yīng)用方式解讀
對(duì)于剛剛接觸Python的初學(xué)者來說,他們?cè)趯W(xué)習(xí)的過程中會(huì)逐漸的發(fā)現(xiàn)這一編程語言實(shí)際上一款功能強(qiáng)大應(yīng)用簡單的計(jì)算機(jī)程序語言。我們今天將會(huì)為大家詳細(xì)介紹一下有關(guān)Python讀取XML文檔的相關(guān)應(yīng)用方式。
最近做一個(gè)小功能,里邊包含Python讀取XML文檔的功能,封裝了一個(gè)讀取類,包括讀取xml中所有數(shù)據(jù),返回list集合;根據(jù)***節(jié)點(diǎn)值讀取該節(jié)點(diǎn)及子節(jié)點(diǎn)的值
- from xml.dom.minidom import parse,parseString
- class XmlConfig:
- def __init__(self,path):
- selfself.xmlData=self.GetXml(path)
- def GetText(self,nodelist):
- r=""
- for nxd in nd.childNodes:
- rr=r+nxd.nodeValue
- return r
- ##獲取xml所有數(shù)據(jù)
- def GetXml(self,path):
- doc1=parse(path)
- st=doc1.firstChild
- websites= st.childNodes
- lstList=[]
- for sw in websites:
- if sw.nodeType==sw.ELEMENT_NODE :
- lsty=[]
- for nd in sw.childNodes:
- if nd.nodeType==nd.ELEMENT_NODE:
- ndndName= nd.nodeName
- ndndValue= nd.firstChild.data
- b=(ndName,ndValue)
- lsty.append(b)
- lstList.append(lsty)
- return lstList
- ##獲取單個(gè)節(jié)點(diǎn)及子節(jié)點(diǎn)值
- def GetSingle(self,siteName):
- for item in self.xmlData:
- for k,v in item:
- if v==siteName:
- return item
- ##獲取單個(gè)節(jié)點(diǎn)及子節(jié)點(diǎn)值
- def GetSingleDict(self,siteName):
- lst=self.GetSingle(siteName)
- dic1={}
- if len(lst)>0:
- for item in lst:
- dic1[item[0]]=item[1]
- return dic1
xml文檔
- < ?xml version="1.0" encoding="UTF-8"?>
- < Site>
- < WebSites>
- < website>http://www.xxx.net< /website>
- < loginurl>http:///www.xxx.net/login.php< /loginurl>
- < username>uname=xxx< /username>
- < passwd>pass=123456< /passwd>
- < other>< ![CDATA[r=5&remember=0&ur=xxx]]>< /other>
- < config>WebSite.ini< /config>
- < configname>XXX< /configname>
- < /WebSites>
- < WebSites>
- < website>http://www.xxx.com< /website>
- < loginurl>http:///www.xxx.com/login.php< /loginurl>
- < username>uname=xxx< /username>
- < passwd>pass=123456< /passwd>
- < other>< ![CDATA[r=5&remember=0&ur=xxx]]>< /other>
- < config>WebSite.ini< /config>
- < configname>XXX< /configname>
- < /WebSites>
- < /Site>
Python讀取XML文檔的調(diào)用:
- if __name__=="__main__":
- f=XmlConfig()
- print f.xmlData
以上就是對(duì)Python讀取XML文檔的相關(guān)介紹。
【編輯推薦】