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 相关文章推荐
python爬取网站数据保存使用的方法
Nov 20 Python
跟老齐学Python之变量和参数
Oct 10 Python
Python计算已经过去多少个周末的方法
Jul 25 Python
使用pandas的DataFrame的plot方法绘制图像的实例
May 24 Python
对python的unittest架构公共参数token提取方法详解
Dec 17 Python
对Python中画图时候的线类型详解
Jul 07 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
Pytorch 实现权重初始化
Dec 31 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 Python
Python爬虫之Selenium库的使用方法
Jan 03 Python
Django中celery的使用项目实例
Jul 07 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
JavaScript 自定义事件之我见
2017/09/25 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
环保建议书100字
2014/05/14 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
银行授权委托书格式
2014/10/10 职场文书
2014年采购工作总结
2014/11/20 职场文书
mysql 获取时间方式
2022/03/20 MySQL
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
Go 内联优化让程序员爱不释手
2022/06/21 Golang