Python连载45-XML解析(使用minidom和etree分别示例)
一、我们对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"))#获取某一节点的属性值
同时我们还可以使用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的属性的字典类型的内容
i
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))
三、源码
D30_2_XmlAnalysis.py
https://github.com/ruigege66/Python_learning/blob/master/D30_2_XmlAnalysis.py
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
Python连载45-XML解析(使用minidom和etree分别示例)的更多相关文章
- Python XML解析(转载)
Python XML解析 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是 ...
- Xml解析之——Java/Android/Python
Xml解析之——Java/Android/Python 一.Xml文件 test.xml <note> <to>George</to> <from>Jo ...
- xml 解析 python
1 综述 有很多种解析方法. (1) DOM 缺点是:1 不能解析格式不正确或者不规则xml 2据说只能解析utf-8格式,非utf-8需要转码 与SAX比较,DOM典型的缺点是比较慢,消耗更 ...
- Python XML解析之DOM
DOM说明: DOM:Document Object Model API DOM是一种跨语言的XML解析机制,DOM把整个XML文件或字符串在内存中解析为树型结构方便访问. https://docs. ...
- Python XML解析之ElementTree
参考网址: http://www.runoob.com/python/python-xml.html https://docs.python.org/2/library/xml.etree.eleme ...
- python大法好——Python XML解析
Python XML解析 什么是XML? XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识. 它也是元标记语言,即定义了用于定义其他与 ...
- 【Python】xml 解析
1. XML:指可扩展标记语言,是一种标记语言,用于存储数据和传输数据,但没有像HTML那样具有预定义标签,需要程序猿自定义标签 2. XML的解析:读取XML数据结构中的某些信息,比如读取书的属性 ...
- Python之XML解析详解
什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这 ...
- Python XML解析
什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这 ...
随机推荐
- 如何使ElementUi中的el-dropdown传入多参数
这边因为业务的需求,觉得随着产品中心以后需要按钮的增多(图1操作栏的效果),这样会导致排版和按钮过于冗长的问题,用户体验不佳,于是想到利用el-dropdown做一个下拉按钮(图1操作1栏的效果) . ...
- SQLSERVER预读逻辑读物理读
预读:用估计信息,去硬盘读取数据到缓存.预读100次,也就是估计将要从硬盘中读取了100页数据到缓存. 物理读:查询计划生成好以后,如果缓存缺少所需要的数据,让缓存再次去读硬盘.物理读10页,从硬盘中 ...
- supervisor 工具使用
最近项目要使用supervisor 来管理程序,简单查了查,发现比较容易使用: 中文博客查了查,发现很多人都写出了教程,我这边就懒得写了,找了几个能看懂的记录如下: https://www.cnblo ...
- 七、3Dslicer的坐标系
一.参考博客 https://blog.csdn.net/Huadong_eddy/article/details/84988166
- dp习题
仅收录有意思的题目 数的划分 导弹拦截 : LIS的两种优化 教主的花园:将不同的情况分类,最后取max 午餐 & 挂饰: 需要排序 挂饰:0-1背包处理负数体积 投资的最大效益 : 完全背包 ...
- JavaWeb包含哪些内容
JavaWeb JavaWeb课程内容涉及:HTML5课程.CSS3.JavaScript.MySQL使用.JDBC连接池.Servlet.JSP.AJAX.jQuery.Bootstrap. 第一部 ...
- ModuleNotFoundError: No module named 'xxx'; 'xxx' is not a package
错误: ModuleNotFoundError: No module named 'xxx'; 'xxx' is not a package 通过pycharm对脚本进行debug时,出现了如下错: ...
- HBase删除数据的原理
转自:https://blog.csdn.net/cenjianteng/article/details/96645447 -------------------------------------- ...
- Spring Boot可执行Jar包运行原理
目录 1. 打可执行Jar包 2. 可执行Jar包内部结构 3. JarLauncher 4. 简单总结 5. 远程调试 Spring Boot有一个很方便的功能就是可以将应用打成可执行的Jar.那么 ...
- [算法]实现strStr()
题目 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在 ...