python解析XML之ElementTree

#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>
时间: 2024-10-08 15:19:11

python解析XML之ElementTree的相关文章

python 解析XML文件

比较高效的python 解析XML文件 参考 http://codingpy.com/article/parsing-xml-using-python/ try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET import time def parse_poi_by_elementTree(filepath): t0 = time.time() tree = E

python解析xml文件操作的例子

python解析xml文件操作实例,操作XML文件的常见技巧. xml文件内容: <?xml version="1.0" ?> <!--Simple xml document__chapter 8--> <book> <title> sample xml thing </title> <author> <name> <first> ma </first> <last>

python解析xml之lxml

虽然python解析xml的库很多,但是,由于lxml在底层是用C语言实现的,所以lxml在速度上有明显优势.除了速度上的优势,lxml在使用方面,易用性也非常好.这里将以下面的xml数据为例,介绍lxml的简单使用. [html]?view plain?copy ? 例子:dblp.xml(dblp数据的片段)?? <?xml?version='1.0'?encoding='utf-8'?>???? <dblp>?? ???????<article?mdate="

Python解析XML文件

python对XML的解析 常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同. python有三种方法解析XML,SAX,DOM,以及ElementTree: 1.SAX (simple API for XML ) pyhton 标准库包含SAX解析器,SAX用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件. 2.DOM(Document Object Model) 将XML数据在内存中解析成一个树,通过

python解析xml并按照其结构输出

平时写代码需要将一个xml文件按照其结构,将每个节点列出来,如: <root> <person age="18"> <name>hzj</name> <sex>man</sex> </person> <person age="19" des="hello"> <name>kiki</name> <sex>female

Python解析xml文件遇到的编码解析的问题

使用python对xml文件进行解析的时候,如果xml文件的头文件是utf-8格式的编码,那么解析是ok的,但如果是其他格式将会出现如下异常: xml.parsers.expat.ExpatError: unknown encoding 因此,为了保证程序的正常运行,我们需要对读取的文件进行编码处理. 1.首先将读取的字符从原来的编码解析,并编码成utf-8: 2.修改xml的encoding: 代码如下: import sys import os import datetime import

python解析XML笔记(etree)

近期梳理Weblogic数据源,数据源较多,但是每一个数据源在weblogic中是xml方式存在,所以想到批量解析xml,把数据放到数据库后来解决. 需要的数据源信息: WEBLOGIC_HOSTJDBC_NAMEJNDI_NAMEDB_ALIASDB_NAMEDB_HOSTINST_PORTDB_USERTARGETURLDRIVER_TYPECAPACITY 数据源xml格式: <?xml version='1.0' encoding='UTF-8'?> <jdbc-data-sou

python 解析XML xml.dom

一 .xml.dom 解析XML的API描述 minidom.parse(filename) 加载读取XML文件 doc.documentElement 获取XML文档对象 node.getAttribute(AttributeName) 获取XML节点属性值 node.getElementsByTagName(TagName) 获取XML节点对象集合 node.childNodes 返回子节点列表. node.childNodes[index].nodeValue 获取XML节点值 node.

python 解析 xml

<taskList nextId="62292"> <task module="reliability" owner="vprovodi" id="59074" status="error" result="XFL is OK;init OK;Tests: 17, Expected failures: 1, Unexpected: 1, Actual total count is