免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6469 | 回复: 0
打印 上一主题 下一主题

[zz] python ElementTre 解析xml [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-19 23:41 |只看该作者 |倒序浏览
python ElementTree 基本读操作示例
演示用XML文件:test.xml
view plaincopy to clipboardprint?
  
  
   
    hzj  
    man  
   
   
    kiki  
    female  
   
  

    hzj
    man


    kiki
    female

1.加载xml文件
    加载XML文件共有2种方法,一是加载指定字符串,二是加载指定文件
2.获取element的方法
  a) 通过getiterator
  b) 过 getchildren
  c) find方法
  d) findall方法
示例如下:
view plaincopy to clipboardprint?
#-*- coding:utf-8 -*-   
from xml.etree import ElementTree   
def print_node(node):   
    '''''打印结点基本信息'''  
    print "=============================================="  
    print "node.attrib:%s" % node.attrib   
    if node.attrib.has_key("age") > 0 :   
        print "node.attrib['age']:%s" % node.attrib['age']   
    print "node.tag:%s" % node.tag   
    print "node.text:%s" % node.text   
def read_xml(text):   
    '''''读xml文件'''  
    # 加载XML文件(2种方法,一是加载指定字符串,二是加载指定文件)      
    # root = ElementTree.parse(r"D:\test.xml")   
    root = ElementTree.fromstring(text)   
      
    # 获取element的方法   
    # 1 通过getiterator   
    lst_node = root.getiterator("person")   
    for node in lst_node:   
        print_node(node)   
           
    # 2通过 getchildren   
    lst_node_child = lst_node[0].getchildren()[0]   
    print_node(lst_node_child)   
           
    # 3 .find方法   
    node_find = root.find('person')   
    print_node(node_find)   
      
    #4. findall方法   
    node_findall = root.findall("person/name")[1]   
    print_node(node_findall)   
      
if __name__ == '__main__':   
    # read_xml(open("test.xml").read())   
    write_xml(open("test.xml").read())  
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/kiki113/archive/2009/04/06/4052584.aspx


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/107145/showart_2182588.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP