Python练习之读取XML节点和属性值的方法
作者:??孤寒者???? 发布时间:2021-03-25 19:01:06
标签:Python,读取,XML,节点,属性值
面试题
有一个test.xml文件,要求读取该文件中products节点的所有子节点的值以及子节点的属性值。
test.xml文件:
<!-- products.xml -->
<root>
<products>
<product uuid='1234'>
<id>10000</id>
<name>苹果</name>
<price>99999</price>
</product>
<product uuid='1235'>
<id>10001</id>
<name>小米</name>
<price>999</price>
</product>
<product uuid='1236'>
<id>10002</id>
<name>华为</name>
<price>9999</price>
</product>
</products>
</root>
解析
# coding=utf-8
from xml.etree.ElementTree import parse
doc = parse('./products.xml')
print(type(doc))
for item in doc.iterfind('products/product'):
id = item.findtext('id')
name = item.findtext('name')
price = item.findtext('price')
uuid = item.get('uuid')
print('uuid={}, id={}, name={}, price={}'.format(uuid, id, name, price), end='\n----------\n')
通过parse函数可以读取XML文档,该函数返回ElementTree类型的对象,通过该对象的iterfind方法可以对XML * 定节点进行迭代。
XML结构的独特,使得它很方便在任何应用程序中读和写数据,所以XML非常快就成为数据交换的唯一公共语言,虽然不同软件也支持其他的数据交换格式,但这并不影响,支持XML数据交换格式的应用程序可以十分容易的与windows,linux或者其他平台产生的信息结合,然后可以十分方便的加载XML数据到程序中并分析它,最后以XML格式输出结果。
不过细心的朋友应该能发现,这个格式的数据与我们在爬虫爬取数据时,未经处理的原始数据格式十分相像,甚至读取操作都几乎一模一样,有兴趣的朋友可以自行去搜索看看这两种数据格式的背景哦
来源:https://juejin.cn/post/7102667380073070599
0
投稿
猜你喜欢
- pprint的英文全称Data pretty printer,顾名思义就是让显示结果更漂亮。print()和pprint()都是python
- 一、序言在分布式并发系统中,数据库与缓存数据一致性是一项富有挑战性的技术难点。本文将讨论数据库与缓存数据一致性问题,并提供通用的解决方案。假
- 目录什么是虚拟 dom?为什么需要虚拟dom?虚拟dom是如何转换为真实dom的?模板和虚拟dom的关系注入挂载完整流程总结什么是虚拟 do
- 1. 特定版本的python-opencv安装在https://www.lfd.uci.edu/~gohlke/pythonlibs/#op
- 平方根,又叫二次方根,表示为〔√ ̄〕,如:数学语言为:√ ̄16=4。语言描述为:根号下16=4。以下实例为通过用户输入一个数字,并计算这个数
- 一、提出问题利用SQL,从右到左查找某一字符串中匹配的查询串的第一个索引位置。比如有一字段ProductName值格式如下:短袖印花T恤 M
- /** * 得到XML文件属性的集合对象 * @param x
- 目录查找和修复数据表冲突更新索引统计查找和修复数据表冲突数据表最糟糕的事情就是发生冲突。使用MyISAM存储引擎时,通常因为崩溃导致冲突。然
- pandas创建series方法print("====创建series方法一===")dic={"a"
- 本文主要给大家介绍了关于在CentOS 7下安装Python 3.5并与Python2.7兼容并存的相关内容,分享出来供大家参考学习,下面来
- <!--这是一个主页文件--><html><head><meta http-equiv="
- 第一种:i=0sum=0a=0while i<102: if i>=1 and i%4==1: sum+=i eli
- python的库一般都用pip安装。但是有时候也会出现在线安装失败的情况,如下图安装PIL模块时报错:这时候可以采取离线安装的方式;一、首先
- 下面是一个实战项目的结果。 #coding: utf-8 import Image,ImageDraw,ImageFont,os,strin
- Mako是一个模板库。一种嵌入式的语言,能够实现简化组件布局以及继承,主要的用途也是和作用域有关,但是效果是最直接切灵活的,这些都是mako
- 1、顺序表介绍顺序表是最简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以快速定位第几个元素,中间不允许有空,所以插入
- 先打开安装程序。 选择对应的系统版本,我是64位,所以选了X64。  
- PDOStatement::fetchColumnPDOStatement::fetchColumn — 从结果集中的下一行返回单独的一列。
- 本文实例讲述了Python遍历zip文件输出名称时出现乱码问题的解决方法。分享给大家供大家参考。具体如下:windows中使用python2
- 本文实例讲述了C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法。分享给大家供大家参考。具体如下:这个