千家信息网

怎么用python标准库ElementTree处理xml

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容介绍了"怎么用python标准库ElementTree处理xml"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2026年10月31日怎么用python标准库ElementTree处理xml

本篇内容介绍了"怎么用python标准库ElementTree处理xml"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 示例用法

参照官方文档,创建country_data.xml测试文档,内容如下:

            1        2008        141100                                4        2011        59900                        68        2011        13600                    

使用如下代码,将数据读出,打印

from xml.etree.ElementTree data = ElementTree.ElementTree(file='country_data.xml')country_list = data.findall('country')   #找到所有名为'country'的tag,返回一个Element对象列表。for country in country_list:    name = country.attrib.get('name', '')     print name, ' ',     for item in country:        if item.tag == 'neighbor':            name = item.attrib.get('name', '')             direction = item.attrib.get('direction', '')             print '{0} ({1})'.format(name, direction), ' ',        else:            print item.text, ' ',    print ''

其中

data = ElementTree.ElementTree(file='country_data.xml')

获得一个ElementTree对象,也可以使用

tree = ElementTree.parse('country_data.xml')

Element对象具有如下属性和操作

elem.tag这个Element对象的名字(tag)
elem.text文档内容
elem.attrib属性值字典
elem.tail与属性一起存储的其他数据

elem[n] 返回elem的第n个子元素

elem[n] = new_elem 将elem的第n个子元素更改为不同的元素new_elem

del elem[n] 删除子元素

len(elem) 子元素的数量

elem.find(path)

elem.getchildren() 按文档顺序返回所有子元素

elem.items()将所有元素的属性值以(name, value)对列表形式返回

遇到非法格式的xml

ExpatError: no element found

bad.xml为空文档时,内容如下:

执行如下python代码,遇到xml.parser.expat.ExpatError异常:

import xml.etree.ElementTree as ETET.parse('bad.xml')

xml.parsers.expat.ExpatError: no element found: line 3, column 0

ExpatError: mismatched tag

bad.xml中找不到对应结束标记符时,内容如下:

因为区分大小写,所以 不能作为的结束标记。

xml.parsers.expat.ExpatError: mismatched tag: line 3, column 2

ExpatError: not well-formed(invalid token)

bad.xml中属性值未包含在双引号(")之中时,遇到如下异常:

bad.xml中非法符号,在"if salary < 1000 then"语句的‘<',如下:

if salary < 1000 then

xml.parsers.expat.ExpatError: not well-formed (invalid token): line 2, column 9

"怎么用python标准库ElementTree处理xml"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

元素 内容 属性 文档 对象 标准 处理 个子 代码 数据 更多 标记 知识 不同 实用 学有所成 接下来 之中 名字 困境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 互联网科技行业发展 A股互联网金融科技公司 互联网下的科技发展 互联网金融与金融科技 中国 科技 互联网 互联网科技的英文 友谊互联网络科技 郑州华宇互联网科技 中正互联网科技招聘 互联网和高科技公司 玖二柒互联网科技公司待遇 移动互联网年度科技创新 长沙互联网科技 广东工业互联网大赛深圳学泰科技 黑云互联网科技有限公司 广州有谷有贝互联网科技有限公司 易企秀互联网科技是做什么的 互联网高科技行业有哪些企业 互联网对科技影响 A股互联网金融科技公司 上海万想互联网科技 美国互联网前沿科技 华脉科技工业互联网产品 成都互联网科技公司100强 金融科技与互联网金融相同和不同 无锡工业互联网科技有限公司 广州百诚互联网科技有限公司官网 广州梦谷互联网科技有限公司领导 银川新华互联网科技学校招聘
0