Python获取任意xml节点值的方法
本文实例讲述了Python获取任意xml节点值的方法。分享给大家供大家参考。具体实现方法如下:
#-*-coding:utf-8-*-
importxml.dom.minidom
ELEMENT_NODE=xml.dom.Node.ELEMENT_NODE
classSimpleXmlGetter(object):
def__init__(self,data):
iftype(data)==str:
self.root=xml.dom.minidom.parse(data)
else:
self.root=data
def__getattr__(self,name):#support.operation
ifname=='data':
returnself.root.firstChild.data
forcinself.root.childNodes:
ifc.nodeType==ELEMENT_NODEandc.tagName==name:
returnSimpleXmlGetter(c)
def__getitem__(self,index):#support[]operation
eNodes=[eforeinself.root.parentNode.childNodes
ife.nodeType==ELEMENT_NODEande.tagName==self.root.tagName]
returnSimpleXmlGetter(eNodes[index])
def__call__(self,*args,**kwargs):#support()openration,forqueryconditions
foreinself.root.parentNode.childNodes:
ife.nodeType==ELEMENT_NODE:
forkeyinkwargs.keys():
ife.getAttribute(key)!=kwargs[key]:
break
else:
returnSimpleXmlGetter(e)
if__name__=="__main__":
x=SimpleXmlGetter("sysd.xml")
printx.sysd.sysagent.param[2].data
printx.sysd.sysagent.param(name="querytimeout",type="second").data
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短