Python 解析XML文件

yipeiwu_com5年前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中的lambda表达式

最近在coding时发现使用lambda还是有诸多优点的,很多时候代码更整洁,更pythonic,所以在此简单总结一下 1.lambda是什么 举个简单的例子: func = lam...

Flask框架实现的前端RSA加密与后端Python解密功能详解

Flask框架实现的前端RSA加密与后端Python解密功能详解

本文实例讲述了Flask框架实现的前端RSA加密与后端Python解密功能。分享给大家供大家参考,具体如下: 前言 在使用 Flask 开发用户登录API的时候,我之前都是明文传输 us...

Flask教程之重定向与错误处理实例分析

本文实例讲述了Flask教程之重定向与错误处理。分享给大家供大家参考,具体如下: Flask类有一个redirect()方法. 当我们调用它时, 它会返回一个响应对象并且按指定的状态码将...

python字典setdefault方法和get方法使用实例

这篇文章主要介绍了python字典setdefault方法和get方法使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在pyt...

使用python制作一个解压缩软件

使用python制作一个解压缩软件

python实现解压缩的重要模块就是——zipfile,其次是os 安装zipfile模块 首先得安装zipfile模块,打开cmd输入一下命令即可安装 pip install zipf...