使用ElementTree解析xml(python3.4)

1、movies.xml

<collection shelf="New Arrivals">
    <movie title="Enemy Behind">
       <type>War, Thriller</type>
       <format>DVD</format>
       <year>2003</year>
       <rating>PG</rating>
       <stars>10</stars>
       <description>Talk about a US-Japan war</description>
    </movie>
    <movie title="Transformers">
       <type>Anime, Science Fiction</type>
       <format>DVD</format>
       <year>1989</year>
       <rating>R</rating>
       <stars>8</stars>
       <description>A schientific fiction</description>
    </movie>
</collection>

2、python代码

import xml.etree.ElementTree as ET
tree = ET.parse("e:/movies.xml")#root = ET.fromstring(country_data_as_string)  #导入字符串root = tree.getroot() #前三句导入数据并获取根元素
print (root.tag)    #取标签名
print (root.attrib)    #取属性(字典形式)
for movie in root:
    print (‘*‘*30)
    print ("title:", movie.attrib[‘title‘])    #取属性值
    print ("type:", movie[0].text)    #取子节点的内容(元素值)

3、一些方法

Element.findAll():查找当前element的孩子的属于某个tag的element;

Element.find():查找属于某个tag的第一个element;

Element.text:访问Element的文本内容;

Element.get():访问Element的属性; (当属性>1的时候很有用)

Element.iter():迭代遍历子节点。

for movie in root.iter(‘movie‘):
    print (movie.attrib)

#感觉和下面效果一样,不知道iter()有何妙用
for movie in root:
    print (movie.attrib)

http://www.cnblogs.com/CheeseZH/p/4026686.html

https://docs.python.org/3.4/library/xml.etree.elementtree.html

时间: 2024-10-07 18:16:17

使用ElementTree解析xml(python3.4)的相关文章

Python_xml模块_用ElementTree解析xml

xml: 可扩展标记语言,用来标记数据,定义数据类型,主要用来传输和存储数据(和json差不多,不同语言或程序之间进行数据交换的协议) xml格式: <site> <name>hello</name> <url>yeah</url> </site> <site> <name>你好</name> <url>嘿</url> </site> 用ElementTree解析

python 使用ElementTree解析xml

以country.xml为例,内容如下: <?xml version="1.0"?> <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year>2008</year> <gdppc>141100</gdppc> <neighbor name=&qu

ElementTree 解析xml(minidom解析xml大文件时,MemoryError)

在使用minido解析xml文件时,因为文件过大,结果报错MemoryError.查询后得知是因为minidom在解析时是将所有文件放到内存里的,很占用内存,所以要考虑换一种方法来处理xml文件. ElementTree相比minidom消耗内存更小,下面是ElementTree的一些简单用法 XML源文件中的部分内容: #导入ElementTree from xml.etree import ElementTree #读入并解析XML文件,读入的是树形结构 doc = ET.parse(XML

Python中用ElementTree解析XML

[XML基本概念介绍] XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. 概念一: <foo> # foo元素的起始标签 </foo> # foo元素的结束标签 # note: 每一个起始标签必须有对应的结束标签来闭合, 也可以写成<foo/> 概念二: <foo> # 元素可以嵌套到任意参次 <bar></bar> # bar元素为foo元素的子元素 </f

Python使用ElementTree解析XML【译】

19.7. xml.etree.ElementTree — The ElementTree XML API 源代码: Lib/xml/etree/ElementTree.py Element类型是一种灵活的容器对象,用于在内存中存储层次数据结构.可以说是list和dictionary的交叉. 注意: xml.etree.ElementTree 模块对含有恶意代码的数据是不安全的.如果你想处理不信任的数据请使用 XML vulnerabilities. 每个element都有一系列相关属性: 标签

python使用ElementTree解析XML文件

一.将XML网页保存到本地 要加载XML文件首先应该将网页上的信息提取出来,保存为本地XML文件.抓取网页信息可以python的urllib模块. 代码如下: from urllib import urlopen url = "http://********/**" resp = urlopen(url).read() f = open('文件保存路径', 'w') f.write(resp) f.close() 二.解析XML文件 python有许多可以用来解析XML文件的函数,在这

python xml.etree.ElementTree解析xml文件获取节点

<?xml version = "1.0" encoding = "utf-8"?> <root> <body name="lyc"> <age>110</age> </body> <body name = "l" age = "10"> </body> </root> ###############

xml解析(python3.4)

一. python有三种方法解析XML,SAX,DOM,以及ElementTree 1.SAX (simple API for XML ):基于事件 pyhton 标准库包含SAX解析器,SAX是一种典型的极为快速的工具,在解析XML时,不会占用大量内存. 2.DOM(Document Object Model):基于对象 与SAX比较,DOM典型的缺点是比较慢,消耗更多的内存,因为DOM会将整个XML数读入内存中,并为树中的第一个节点建立一个对象.使用DOM的好处是你不需要对状态进行追踪,因为

使用python3.4解析xml文件(sax、dom、etree)

调用sax模块处理xml文件. #重载了三个方法 #处理xml,主要就是写自己的事件处理类 from xml.sax import * class DengHandler(ContentHandler): def startDocument(self): print("----开始解析xml文档----") def endDocument(self): print("----xml文档解析完毕----") def startElement(self,name,att