您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Python中如何讀取XML文檔,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
對于剛剛接觸Python的初學(xué)者來說,他們在學(xué)習(xí)的過程中會逐漸的發(fā)現(xiàn)這一編程語言實際上一款功能強大應(yīng)用簡單的計算機(jī)程序語言。我們今天將會為大家詳細(xì)介紹一下有關(guān)Python讀取XML文檔的相關(guān)應(yīng)用方式。
最近做一個小功能,里邊包含Python讀取XML文檔的功能,封裝了一個讀取類,包括讀取xml中所有數(shù)據(jù),返回list集合;根據(jù)***節(jié)點值讀取該節(jié)點及子節(jié)點的值
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 ##獲取單個節(jié)點及子節(jié)點值 def GetSingle(self,siteName): for item in self.xmlData: for k,v in item: if v==siteName: return item ##獲取單個節(jié)點及子節(jié)點值 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
以上就是Python中如何讀取XML文檔,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。