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 靳年祝福语大全简短