一、说明

从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementById(),这是智障吗?----所以我不喜欢beautiful soup(当然还因为他不支持xpath)。

python的json标准库可以将json结果直接解析为python对象;python也提供了好几个标准库来解析xml,但我不是很明白为什么都是一些不能直接将xml解析为python对象的垃圾库。

给一堆函数就叫功能强大吗,这次用了下次又得重新学简直脑残。

类似json将xml解析为python对象,可以使用第三方库untangle或xmltodict实现。

将以下内容保存为xml2obj.xml,后我我们就使用该文件。

<?xml version="1.0"?>
<root><title>xml to python obj</title><body><section id="1">section1 content</section><section id="2">section2 content</section></body>
</root>

二、使用untangle将xml文件解析为python对象

pip install untangle

代码如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import untangle# 将文件解析成对象
obj = untangle.parse('xml2obj.xml')# 获取<title>标签内容
obj.root.title.__dict__['cdata']# 获取第一个section标签
obj.root.body.section[0]# 获取第二个section标签的id
obj.root.body.section[1]['id']

运行如下:

三、使用xmltodict将xml文件解析为python对象

pip install xmltodict

代码如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import xmltodict# 将xml文件解析成对象
with open('xml2obj.xml') as fd:dict = xmltodict.parse(fd.read())# 获取<title>标签内容
dict['root']['title']# 获取第一个section标签
dict['root']['body']['section'][0]# 获取第二个section标签的id
dict['root']['body']['section'][1]['@id']

运行如下:

Python3将xml文件解析为Python对象相关推荐

  1. 【VOC格式xml文件解析】——Python

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/4/26 12:49 # @Author : @linlianqin # @S ...

  2. XML文件解析--Python

    目录 一.对xml的解析及其函数 Element对象有以下常用属性: 二.xml文件 三.python解析 四.示例图 源码: 一.对xml的解析及其函数 官方手册 XML 指可扩展标记语言XML 被 ...

  3. Android开发历程_18(XML文件解析)

    前言  本文主要介绍在Android中怎样来解析XML文件.主要采用的是SAX机制,SAX全称为Simple API for XML,它既是一种接口,也是一个软件包.作为接口,SAX是事件驱动型XML ...

  4. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

  5. XML - XML学习/XML文件解析器(C++)实现

    XML - XML学习/XML文件解析器(C++)实现 XML概述 ​ XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,用于定义其他与特定领域有关的, ...

  6. android基础知识13:AndroidManifest.xml文件解析【转载】

    注:本文转载于:http://blog.csdn.NET/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...

  7. PHP 将xml文件解析为数组

    SimpleXML扩展在解析和操作XML文档时非常实用,本文将讨论如何使用php SimpleXML解析xml文件. 首先,让我们看一下使用SimpleXML扩展将XML内容转换为数组所需遵循的步骤. ...

  8. XML文件解析 (下载)

    XML文件解析 (下载) main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  9. (十一)XML 文件解析以及工具实现(详解)

    XML 文件解析详解以及工具实现 文章目录 XML 文件解析详解以及工具实现 前言 解析 XML 文档 XML 解析器与 W3C XML 的层次结构 XML 解析工具化 工具化分析 本地块与静态本地块 ...

最新文章

  1. 反汇编的应用1-软件破解
  2. 深入浅出: Java回调机制(异步)
  3. 【攻防】Kubelet访问控制机制与提权方法研究
  4. javaScript之数组Array
  5. [读书笔记]鸟哥的LINUX私房菜 十三章 shell scripts
  6. 转:在RHEL5系统中搭建iSCSI存储服务器
  7. 计算机如何查找目标,如何使用命令行查找计算机地理位置? | MOS86
  8. 【To Understand! 回文串6 KMP算法】LeetCode 214. Shortest Palindrome
  9. OpenGL学习笔记一
  10. Mybatis 中事务提交方式
  11. 网易互娱游戏研发工程师笔试
  12. android 密码输入框 星号,input密码框输入后设置显示为星号或其他样式
  13. NVIDIA GeForce 800系列详细配置参数
  14. kibana报表展示
  15. html5 audio duration,记一次vue中获取audio媒体总时长duration遇到的问题
  16. 硬件/操作系统/网络(九):了解常见linux服务器硬件配置
  17. 用友u9一些常用sql分享
  18. 【矩阵篇】九宫图/n宫图生成——Merzirac法生成奇阶幻方 Python实现
  19. 餐饮行业如何做好微营销
  20. 职场工作细节提升建议

热门文章

  1. 《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——2.15 本章小结...
  2. linux虚拟机网络设置(本机使用公司内网)
  3. uestc 1073 秋实大哥与线段树 Label:线段树
  4. 并发学习笔记 (5)
  5. JS日期加减,日期运算
  6. Asp.net Web.Config - 配置元素 httpCookies
  7. VMware View 5万点虚拟桌面项目案例详析
  8. ORA-12154:TNS:无法解析指定的连接标识符
  9. Amazon运营如何做?Amazon运营需做好全局的加减法
  10. IT人员健康信号之舌苔