#coding=utf-8
from xml.etree import ElementTree as ET
tree=ET.parse('test.xml')
root = tree.getroot()
#p=per.findall('caption') #for oneper in p:
# for child in oneper.getchildren():
# print child.tag,':',child.text
#for node in root.findall('caption'):
# print node.tag pe=root.findall('./item')
first = 0
second = 0
third = 0
for child in pe:
# for child in oneitem.getchildren():
print "the first layer-------------" print child.tag,'tag:',child.text,'attr:' ,child.attrib
second_child=child.findall('./item')
first+=1
for thirdchild in second_child:
print "the second layer=========="
gchild=thirdchild.findall('./item')
print thirdchild.tag,'tag:',thirdchild.text,'attr:' ,thirdchild.attrib
second+=1
# print gchild.tag,'-88-:',gchild.text
# print type(gchild)
for i in gchild:
print "the third layer 3333333333"
print "i in child %s"%i
print i.tag,'-5656-:',i.text,'attr:' ,i.attrib
third+=1 print "first =%d\n"%first
print "second=%d\n"%second
print "third =%d\n"%third
<?xml version="1.0" encoding="utf-8"?>

<catalog>
<service>4</service>
<item id="1">
<item id="11">
<caption>c1</caption>
<caption>c2</caption>
<caption>c3</caption>
</item>
</item> <item id="9">
<item id="99">
<item id="999">
</item>
</item>
</item>
<item id="8">
<item id="88">
<item id="888">
</item>
</item>
</item>
<item id="2">
<caption> </caption>
</item>
<item id="3">
<caption>
<item>itemc4</item>
<book>Zope2</book>
</caption>
</item> <item id="4">
<caption>c5</caption>
</item> <item id="5">
<caption>c6</caption>
<caption>c7</caption>
</item> <item>item6</item>
<item>item7</item> </catalog>

python解析XML之ElementTree的更多相关文章

  1. python 解析xml

    在工作中很多时候都要用到xml,使用这个时候难免会设计到解析他,然后就研究了一下python解析xml问题,看了很多东西,python有很多解析xml的包,但是也折腾我好一段时间,最后选择了这个方法. ...

  2. Python 解析 XML 文件生成 HTML

    XML文件result.xml,内容如下: <ccm> <metric> <complexity>1</complexity> <unit> ...

  3. 横向对比分析Python解析XML的四种方式

    横向对比分析Python解析XML的四种方式 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜 ...

  4. python 解析XML python模块xml.dom解析xml实例代码

    分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...

  5. python解析xml模块封装代码

    在python中解析xml文件的模块用法,以及对模块封装的方法.原文转自:http://www.jbxue.com/article/16586.html 有如下的xml文件:<?xml vers ...

  6. python解析xml之lxml

    虽然python解析xml的库很多,但是,由于lxml在底层是用C语言实现的,所以lxml在速度上有明显优势.除了速度上的优势,lxml在使用方面,易用性也非常好.这里将以下面的xml数据为例,介绍l ...

  7. python解析xml

    python解析xml import xml.dom.minidom as minidom dom = minidom.parse("aa.xml") root = dom.get ...

  8. Python 解析XML实例(xml.sax)

    已知movies.xml <collection shelf="New Arrivals"> <movie title="Enemy Behind&qu ...

  9. python解析xml文件时使用ElementTree和cElementTree的不同点;iter

    在python中,解析xml文件时,会选用ElementTree或者cElementTree,那么两者有什么不同呢? 1.cElementTree速度上要比ElementTree快,比较cElemen ...

随机推荐

  1. Kettle启动及简单操作(1)

    官方Hadoop配置 http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Versio ...

  2. UI线程

    Application.Current.Dispatcher.Invoke(new Action(() =>))

  3. ubuntu 12.04添加桌面启动器

    Ubuntu 12.04版本上,无法通过桌面右键菜单建立应用程序启动器:这里参考一个网上方法进行了建立: ubuntu 12.04中,每个应用程序启动器都对应 /user/share/applicat ...

  4. automaticallyAdjustsScrollViewInsets (iOS)

    [摘要:@当我们正在一个UIViewController中同时建立2个tableView的时间,若是把它们的frame中的Y坐标设置为一样,您大概会发明它们的地位并出有到达您念要的效果.比方第一tab ...

  5. Nginx “邪恶” rewrite

    概述 本文主要针对nginx rewrite指令困惑的地方进行讲解,中间会涉及部分原理部分,我尽量用通俗易懂的语言来形容 功能讲解 大致流程 The ngx_http_rewrite_module m ...

  6. windows任务计划程序路径设置

    用任务计划启动程序,特别是脚本,比如我要启动python脚本,其中有一句是这么写的 BasePath = removeLastSlash(os.path.abspath("..\\..\\& ...

  7. 本篇内容简要介绍BASE64、MD5、SHA、HMAC几种加密算法。

    BASE64编码算法不算是真正的加密算法.     MD5.SHA.HMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法,我们称之为单向加密算法.我们通常只把他们作为加密的基础.单纯的以上 ...

  8. php 分页类(3)

    <?php class Page { private $total; //总记录 private $pagesize; //每页显示多少条 private $limit; //limit pri ...

  9. (响应式PC端媒体查询)电脑屏幕分辨率尺寸大全

    (响应式PC端媒体查询)电脑屏幕分辨率尺寸大全 时间:2015-08-17 16:50:40      阅读:3961      评论:0      收藏:0      [点我收藏+] 标签:styl ...

  10. linux中iptables配置文件及命令详解详解

    iptables配置文件 直接改iptables配置就可以了:vim /etc/sysconfig/iptables. 1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放. 下 ...