对于刚刚接触Python的初学者来说,他们在学习的过程中会逐渐的发现这一编程语言实际上一款功能强大应用简单的计算机程序语言。我们今天将会为大家详细介绍一下有关Python读取XML文档的相关应用方式。
最近做一个小功能,里边包含Python读取XML文档的功能,封装了一个读取类,包括读取xml中所有数据,返回list集合;根据***节点值读取该节点及子节点的值
- 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所有数据
- 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
- ##获取单个节点及子节点值
- def GetSingle(self,siteName):
- for item in self.xmlData:
- for k,v in item:
- if v==siteName:
- return item
- ##获取单个节点及子节点值
- 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文档的调用:
- if __name__=="__main__":
- f=XmlConfig()
- print f.xmlData
以上就是对Python读取XML文档的相关介绍。
【编辑推荐】