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

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

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

本文實例講述了Python獲取任意xml節(jié)點值的方法。分享給大家供大家參考。具體實現(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è)計有所幫助。

相關(guān)文章

最新評論

九江县| 鹿邑县| 瓦房店市| 怀柔区| 信阳市| 柳江县| 沈阳市| 凤翔县| 汉中市| 蓝山县| 巢湖市| 曲靖市| 闻喜县| 信阳市| 永新县| 丹巴县| 洛南县| 武清区| 扶余县| 兖州市| 柞水县| 富裕县| 城步| 包头市| 青田县| 宁德市| 台湾省| 长宁县| 安新县| 沂源县| 天津市| 丽水市| 休宁县| 遂川县| 泰来县| 鹿泉市| 淮滨县| 沾益县| 宕昌县| 建平县| 芜湖县|