Python练习之读取XML节点和属性值的方法

 更新时间:2022年06月13日 10:12:56   作者:​ 孤寒者   ​  
这篇文章主要介绍了Python练习之读取XML节点和属性值的方法,通过parse函数可以读取XML文档,该函数返回ElementTree类型的对象,通过该对象的iterfind方法可以对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格式输出结果。
  • 不过细心的朋友应该能发现,这个格式的数据与我们在爬虫爬取数据时,未经处理的原始数据格式十分相像,甚至读取操作都几乎一模一样,有兴趣的朋友可以自行去搜索看看这两种数据格式的背景哦

到此这篇关于Python练习之读取XML节点和属性值的方法的文章就介绍到这了,更多相关Python读取XML内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django 外键查询的实现

    Django 外键查询的实现

    今天学习了一下外键查询的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • 解决Python报错Valueerror: Expected 2d Array Got 1d Array Instead

    解决Python报错Valueerror: Expected 2d Array 

    如您所知,每种编程语言都会遇到很多错误,有些是在运行时,有些是在编译时,下面我就来看看当发生错误 ValueError: Expected 2D array, got 1D array instead时该如何解决吧
    2024-01-01
  • Python中的分支与循环结构解读

    Python中的分支与循环结构解读

    这篇文章主要介绍了Python中的分支与循环结构解读,在Python编程中,分支(Branch)和循环(Loop)是掌握的关键要素之一,它们允许您根据条件执行不同的代码块,以及重复执行特定任务,需要的朋友可以参考下
    2023-10-10
  • Python获取秒级时间戳与毫秒级时间戳的示例代码

    Python获取秒级时间戳与毫秒级时间戳的示例代码

    这篇文章主要介绍了Python获取秒级时间戳与毫秒级时间戳的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 深入浅析Python数据分析的过程记录

    深入浅析Python数据分析的过程记录

    我们先利用 Jupyter Notebook 来进行分析,然后,在得到成果以后,利用 Pycharm 来进行完整的程序设计,对Python数据分析的过程记录感兴趣的朋友一起看看吧
    2022-01-01
  • 关于Python3 类方法、静态方法新解

    关于Python3 类方法、静态方法新解

    今天小编就为大家分享一篇关于Python3 类方法、静态方法新解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Django实现WebSocket在线聊天室功能(channels库)

    Django实现WebSocket在线聊天室功能(channels库)

    本文基于channels库Django实现WebSocket在线聊天室功能,包括安装及创建django项目的全过程,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python中使用Celery容联云异步发送验证码功能

    python中使用Celery容联云异步发送验证码功能

    Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,本文重点给大家介绍使用Celery容联云异步发送验证码功能,感兴趣的朋友一起看看吧
    2021-09-09
  • numpy增加维度、删除维度的方法

    numpy增加维度、删除维度的方法

    本文主要介绍了numpy增加维度、删除维度的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python操作MySQL数据库的入门指南

    Python操作MySQL数据库的入门指南

    MySQL是一种关系型数据库管理系统,广泛应用于各种应用程序和网站,在本篇技术博客中,我们将探讨如何使用Python操作MySQL数据库,需要的可以收藏一下
    2023-06-06

最新评论