千家信息网

怎么用python标准库ElementTree处理xml

发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,本篇内容介绍了"怎么用python标准库ElementTree处理xml"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2025年02月22日怎么用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安全错误 数据库的锁怎样保障安全 守护解放西网络安全 网络安全互通互联 利用网络技术实现家庭监控 网络安全初中政治 网络技术人才需求分析报告 java能做数据库 遵义软件开发公司有哪些 湛江网络安全实战培训线上学习 数据库技术的独特优点 随着通讯网络技术的到来英语 郭震 软件开发 济宁 新浪nba数据库没有东契奇 我的世界宝可梦服务器有什么好玩的玩法 掌中通服务器连接异常 软件开发工程师一般都干多久 校园网络安全面临挑战 中国电信网络安全实施办法 vs2015中添加数据库 软件开发生产率P10什么意思 东软中标山西网络安全项目 辽宁省高职升学网络技术试题 服务器柜图 国内网络安全顶尖专家齐聚武汉 广东省网络技术有限公司 乾县国家网络安全宣传活动 优家家互联网科技有限公司 未转变者一定要服务器才能联机吗 泾县微型软件开发服务价格大全 数据库默认最大的设计区 mysql怎么进入数据库
0