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 logging 日志轮转文件不删除问题的解决方法
Aug 02 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
详解常用查找数据结构及算法(Python实现)
Dec 09 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 Python
python实现逐个读取txt字符并修改
Dec 24 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
Aug 29 Python
在Python中预先初始化列表内容和长度的实现
Nov 28 Python
Python Selenium参数配置方法解析
Jan 19 Python
python:批量统计xml中各类目标的数量案例
Mar 10 Python
Django model.py表单设置默认值允许为空的操作
May 19 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笔记之常用文件操作
2010/10/12 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
php数组去重实例及分析
2013/11/26 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
jQuery使用方法
2017/02/04 Javascript
Node.js简单入门前传
2017/08/21 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python docx 中文字体设置的操作方法
2018/05/08 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
用pycharm开发django项目示例代码
2019/06/13 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
tensorflow 环境变量设置方式
2020/02/06 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
中学生国旗下讲话稿
2014/04/26 职场文书
销售个人求职信范文
2014/04/28 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
英语读书笔记
2015/07/02 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
防溺水主题班会教案
2015/08/12 职场文书
2016银行求职自荐信
2016/01/28 职场文书
导游词之岳阳楼
2019/09/25 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书