python 对xml解析的示例


Posted in Python onFebruary 27, 2021

一、我们对XML的读取进行一波演示

import xml.dom.minidom

#负责解析xml文件的包

from xml.dom.minidom import parse

​

#使用minidom打开xml文件

DOMTree = xml.dom.minidom.parse("D30_1_XmlNameSpace.xml")

print(DOMTree)#将该XML文件定义为一个对象

#得到文档对象

doc = DOMTree.documentElement#打印出了带有根目录的名字的对象

print(doc)

​

#显示子元素

for ele in doc.childNodes:

  if ele.nodeName == "student:Name":

    print("=======Node:{0}=======".format(ele.nodeName))

    print(doc.childNodes)

  if ele.nodeName == "Age":

    print(ele.getAttribute("jio"))#获取某一节点的属性值

python 对xml解析的示例

二、同时我们还可以使用xml.DOM.etree这种方式来进行解析

我们提供方法:

(1)以树形结构来表示xml;

(2)root.getiterator:得到相应的可迭代的node集合

(3)root.iter

(4)find(node_name):查找指定node_name的节点,返回一个node

(5)root.findall(node_name):返回多个node_name的节点

(6)node.tag:node对应的tagename

(7)node.text:node的文本值

(8)node.attrib:是node的属性的字典类型的内容

mport xml.etree.ElementTree

root = xml.etree.ElementTree.parse("D30_1_XmlNameSpace.xml")

nodes = root.getiterator()

for node in nodes:

  print("{0}---{1}".format(node.tag,node.text))

print("===========================================")

ele_room_name = root.find("Location")

print(type(ele_room_name))

print("{0}----{1}".format(ele_room_name.tag,ele_room_name.text))

print("===========================================")

ele_room_name2 = root.findall("{http://my_room}Name")#这里如果使用“room:Name”是解析不出来的

print(ele_room_name2)

for ele in ele_room_name2:

  print("{0}----{1}".format(ele.tag,ele.text))

ele_room_name2 = root.findall("room:Name")

print(ele_room_name2)

for ele in ele_room_name2:

  print("{0}----{1}".format(ele.tag,ele.text))

python 对xml解析的示例

三、源码

D30_2_XmlAnalysis.py

https://github.com/ruigege66/Python_learning/blob/master/D30_2_XmlAnalysis.py

以上就是python 如何对xml解析的详细内容,更多关于python 对xml解析的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Django发送html邮件的方法
May 26 Python
解决python报错MemoryError的问题
Jun 26 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
wxPython的安装与使用教程
Aug 31 Python
python实现朴素贝叶斯算法
Nov 19 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
Python中的asyncio代码详解
Jun 10 Python
Python turtle绘画象棋棋盘
Aug 21 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
pytorch 实现查看网络中的参数
Jan 06 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
python如何发送带有附件、正文为HTML的邮件
Feb 27 #Python
pytorch __init__、forward与__call__的用法小结
Feb 27 #Python
python 实现有道翻译功能
Feb 26 #Python
Python爬取酷狗MP3音频的步骤
Feb 26 #Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 #Python
用python 绘制茎叶图和复合饼图
Feb 26 #Python
python lambda的使用详解
Feb 26 #Python
You might like
php设计模式 Command(命令模式)
2011/06/26 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
php实现的Timer页面运行时间监测类
2014/09/24 PHP
php简单判断文本编码的方法
2015/07/30 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
php编程每天必学之验证码
2016/03/03 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
Python 26进制计算实现方法
2015/05/28 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
python如何在循环引用中管理内存
2018/03/20 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
后勤人员自我鉴定
2013/10/20 职场文书
服装设计专业毕业生推荐信
2013/11/09 职场文书
电气工程师岗位职责
2014/01/01 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
售房协议书
2014/08/19 职场文书
红色旅游心得体会
2014/09/03 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
Python实现Hash算法
2022/03/18 Python
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript