Python:解析XML格式数据

本文介绍了如何在Python中处理XML数据,特别是涉及命名空间的情况。讲解了XML的命名空间概念,以及在Python中使用ElementTree库解析带有命名空间的XML数据的方法,并给出了相关测试案例和运行结果。
摘要由CSDN通过智能技术生成

场景描述

  • XML(可扩展标记语言)是一种用于标记电子文件使其具有结构性的标记语言。你可以将 XML 视为数据的自描述和自包含的表示方式,它是旨在传输和存储数据的,而非显示数据。
  • 在 XML 中,命名空间被用来避免不同来源的元素(可能具有相同名称)之间发生冲突。它类似于在编程中的包或命名空间机制,提供了一种将元素和属性名组织成唯一标识的方式。
  • 命名空间在 XML 中用 URI(统一资源标识符)来表示,这样即使两个不同的文档使用相同的标签名,通过命名空间的URI也可以将它们区分开来。这些URI并不是用于被网络上的资源访问的,而是作为命名空间名称的唯一字符串常量。
  • 在写Python爬虫的时候,遇到 XML 格式的数据,使用 Xpath 时无法正常解析,这时候该怎么办呢?

测试环境

  • Python 3.9.13

一般 XML 数据

  • 测试数据
    <?xml version="1.0" encoding="UTF-8"?>
    
    <tradeproperty>
        <INDEX>
            <TRADING_DAY>20221012</TRADING_DAY>
            <PRODUCT_ID>IC</PRODUCT_ID>
            <INSTRUMENT_ID>IC2210</INSTRUMENT_ID>
            <INSTRUMENT_MONTH>2210</INSTRUMENT_MONTH>
            <BASIS_PRICE>6361.6</BASIS_PRICE>
            <OPEN_DATE>20220822</OPEN_DATE>
            <END_TRADING_DAY>20221021</END_TRADING_DAY>
            <UPPER_VALUE>0.1</UPPER_VALUE>
            <LOWER_VALUE>0.1</LOWER_VALUE>
            <</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值