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判断变量是否已经定义的方法
Aug 18 Python
两个使用Python脚本操作文件的小示例分享
Aug 27 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
Python简单实现安全开关文件的两种方式
Sep 19 Python
Python装饰器实现几类验证功能做法实例
May 18 Python
Python连接phoenix的方法示例
Sep 29 Python
python实现dijkstra最短路由算法
Jan 17 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
python支持多线程的爬虫实例
Dec 21 Python
详解python datetime模块
Aug 17 Python
python 带时区的日期格式化操作
Oct 23 Python
python 实现的IP 存活扫描脚本
Dec 10 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面向接口编程 耦合设计模式 简单范例
2011/03/23 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
js自定义事件代码说明
2011/01/31 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
js Calender控件使用详解
2015/01/05 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
python连接MySQL数据库实例分析
2015/05/12 Python
关于python写入文件自动换行的问题
2018/06/23 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
JAVA中运算符的分类及举例
2015/09/12 面试题
社区活动邀请函范文
2014/01/29 职场文书
平安工地建设方案
2014/05/06 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
实习介绍信模板
2015/01/30 职场文书
交通安全温馨提示语
2015/07/14 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS