千家信息网

怎么用python标准库ElementTree处理xml

发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,本篇内容介绍了"怎么用python标准库ElementTree处理xml"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2025年11月06日怎么用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安全错误 数据库的锁怎样保障安全 三星邮箱怎么设置服务器 网络技术第一次革命 太原服务器是什么原因 文件服务器结构的应用 苏宁股票历史交易数据库 网络安全与防范警示教育片 违反网络安全法的规定从事 双路机架服务器直销厂家 数据库高级技术员工资 四川管理软件开发有哪些 在服务器安装oracle单机 彩视软件开发商是谁 如何提高网络安全性和可靠性 仓库管理软件开发协议 web 在线代理服务器 大学软件开发专业买什么电脑好 想德网络技术有限公司 网络安全监控小组组长 深圳能耗管理软件开发多少钱 我的世界街机小游戏服务器推荐 北京星源软件开发有限公司 青岛吉天世纪网络技术 软件开发工程师国家认证证书 潍坊软件开发怎么做 山东东略网络技术有限公司怎么样 深圳冰川网络技术有限公司 无线局域网络技术参考文献 鬼魂联机要在同一个服务器吗 身边的网络安全法案例 电脑网络安全科技馆南宁
0