欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

# -*- 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程序設計有所幫助。

相關文章

  • python如何求數組連續(xù)最大和的示例代碼

    python如何求數組連續(xù)最大和的示例代碼

    這篇文章主要介紹了python如何求數組連續(xù)最大和的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • Python+Pygame制作"長沙版"大富翁

    Python+Pygame制作"長沙版"大富翁

    說到童年愛玩的電腦游戲,最國民的莫過于金山打字通,接著是掃雷、紅心大戰(zhàn),而紅極一時的單機游戲當屬《大富翁》。本文將通過Python的Pygame模塊制作"長沙版"的大富翁,需要的可以參考一下
    2022-02-02
  • Python 比較文本相似性的方法(difflib,Levenshtein)

    Python 比較文本相似性的方法(difflib,Levenshtein)

    今天小編就為大家分享一篇Python 比較文本相似性的方法(difflib,Levenshtein),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python實現簡易五子棋游戲

    Python實現簡易五子棋游戲

    這篇文章主要為大家詳細介紹了Python實現簡易五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python網站驗證碼識別

    Python網站驗證碼識別

    這篇文章主要介紹了Python網站驗證碼識別的相關資料,需要的朋友可以參考下
    2016-01-01
  • Python合并多個Excel數據的方法

    Python合并多個Excel數據的方法

    這篇文章主要介紹了Python合并多個Excel數據的方法也就是說將多個excel中的數據合并到另一個表中,本文通過實例代碼相結合的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-07-07
  • python使用pygame模塊實現坦克大戰(zhàn)游戲

    python使用pygame模塊實現坦克大戰(zhàn)游戲

    這篇文章主要為大家詳細介紹了python使用pygame模塊實現坦克大戰(zhàn)游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python如何telnet到網絡設備

    Python如何telnet到網絡設備

    這篇文章主要介紹了Python如何telnet到網絡設備,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • Python線程池的實現淺析

    Python線程池的實現淺析

    當有多個?IO?密集型的任務要被處理時,我們自然而然會想到多線程。而線程池的實現也很簡單,因為?Python?提供了一個標準庫?concurrent.futures,已經內置了對線程池的支持。所以本篇文章,我們就來詳細介紹一下該模塊的用法
    2022-08-08
  • 關于tf.TFRecordReader()函數的用法解析

    關于tf.TFRecordReader()函數的用法解析

    今天小編就為大家分享一篇關于tf.TFRecordReader()函數的用法解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評論