Python 解析XML文件

yipeiwu_com7年前Python基础
Python文件:
复制代码 代码如下:

#parsexml.py
#本例子参考自python联机文档,做了适当改动和添加

import xml.parsers.expat

#控制打印缩进
level = 0

#获取某节点名称及属性值集合
def start_element(name, attrs):
global level
print ' '*level, 'Start element:', name, attrs
level = level + 1

#获取某节点结束名称
def end_element(name):
global level
level = level - 1
print ' '*level, 'End element:', name

#获取某节点中间的值
def char_data(data):
if(data == '\n'):
return
if(data.isspace()):
return
global level
print ' '*level, 'Character data:', data

p = xml.parsers.expat.ParserCreate()

p.StartElementHandler = start_element
p.EndElementHandler = end_element
p.CharacterDataHandler = char_data
p.returns_unicode = False

f = file('sample.xml')
p.ParseFile(f)
f.close()

XML文件(sample.xml):
复制代码 代码如下:

<contacts id="bluecrystal">
<item name="keen" fff="ddd">
<telephone type="phone">222222222</telephone>
<telephone type="mobile">134567890</telephone>
</item>
<item name="bcm">
<telephone type="phone">11111111</telephone>
<telephone type="mobile">15909878909</telephone>
</item>
</contacts>

相关文章

浅谈python requests 的put, post 请求参数的问题

浅谈python requests 的put, post 请求参数的问题

post, put请求的参数有两种形式 一种是把参数拼接在url中 对应postman 第二种是把参数放在body中 对应postman 在Python requests 库中 一般...

浅谈python之高阶函数和匿名函数

map() map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 def func(x)...

python识别文字(基于tesseract)代码实例

python识别文字(基于tesseract)代码实例

这篇文章主要介绍了python识别文字(基于tesseract)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Ubuntu版...

python实现读取命令行参数的方法

本文实例讲述了python读取命令行参数的方法。分享给大家供大家参考。具体分析如下: 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么...

简单谈谈python中的多进程

进程是由系统自己管理的。 1:最基本的写法 from multiprocessing import Pool def f(x): return x*x if __name__...