最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python獲取任意xml節(jié)點(diǎn)值的方法

 更新時(shí)間:2015年05月05日 10:13:22   作者:鴣斑兔  
這篇文章主要介紹了Python獲取任意xml節(jié)點(diǎn)值的方法,涉及Python操作XML節(jié)點(diǎn)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Python獲取任意xml節(jié)點(diǎn)值的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

# -*- coding: utf-8 -*-
import xml.dom.minidom
ELEMENT_NODE = xml.dom.Node.ELEMENT_NODE
class SimpleXmlGetter(object):
  def __init__(self, data):
    if type(data) == str:
      self.root = xml.dom.minidom.parse(data)
    else:
      self.root = data
  def __getattr__(self, name):    #support . operation
    if name == 'data':
      return self.root.firstChild.data
    for c in self.root.childNodes:
      if c.nodeType == ELEMENT_NODE and c.tagName == name:
        return SimpleXmlGetter(c)
  def __getitem__(self, index):    #support [] operation
    eNodes = [ e for e in self.root.parentNode.childNodes
          if e.nodeType == ELEMENT_NODE and e.tagName == self.root.tagName]
    return SimpleXmlGetter(eNodes[index])
  def __call__(self, *args, **kwargs): #support () openration, for query conditions
    for e in self.root.parentNode.childNodes:
      if e.nodeType == ELEMENT_NODE:
        for key in kwargs.keys():
           if e.getAttribute(key) != kwargs[key]:
            break
        else:
          return SimpleXmlGetter(e)
if __name__ == "__main__":
  x = SimpleXmlGetter("sysd.xml")
  print x.sysd.sysagent.param[2].data
  print x.sysd.sysagent.param(name="querytimeout", type="second").data

希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

浦北县| 仙游县| 灵丘县| 太白县| 莱阳市| 花垣县| 泸水县| 龙口市| 东安县| 正阳县| 丹巴县| 奉节县| 余江县| 嵊州市| 长海县| 基隆市| 伊金霍洛旗| 通榆县| 桂林市| 墨竹工卡县| 长岛县| 冕宁县| 台南市| 自贡市| 北碚区| 平邑县| 察隅县| 太仓市| 贵溪市| 乌审旗| 北川| 册亨县| 西昌市| 嘉善县| 彰化市| 凌海市| 临泽县| 九龙城区| 保靖县| 乌拉特后旗| 论坛|