python 对xml解析的示例
作者:心悦君兮君不知-睿 发布时间:2023-05-30 23:06:31
标签:python,xml,解析
一、我们对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的属性的字典类型的内容
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
来源:https://www.cnblogs.com/ruigege0000/p/11741579.html
0
投稿
猜你喜欢
- 前言前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片。这样每次调用的时候
- 由于众所周知的原因,ACCESS在大型站点应用中都靠不上边,主要问题就是数据量大了以后几乎无法索引。当ACCESS里数据过万后,明显可以感觉
- 目录一、善用组件让代码更有条理性1、 提取UI组件2、按模块提取业务组件3、按功能提取功能组件二、利用v-bind使组件的属性更具有可读性三
- 前言go.Panel面板是gojs重要的绘图模板,上文中我们提到的是可视化图形中的节点分组.而go.Panel可以把节点内部分成很多的模块,
- 这样的问题是因为 数据库字符集,表字符集,字段字符集都设为:gbk_chinese_ci 注意数据库连接串里面的 Stmt=Set Name
- python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差。“一行代
- <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
- 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where
- 自动发送邮件能应用于许多场景,比如我想要知道股票策略中的股票池是否有实时的更新,这时候如果再拉一遍数据,跑一遍脚本,实在是太浪费时间了。为什
- 使用ajax获取服务器数据返回给客户端,出现中文乱码。在之前的一个ajax应用中指定codepage=936,将所有页面编码都指定为GB23
- 效果图:代码如下:<!DOCTYPE html><html><head> <meta
- python读文件操作1. read三种不同的方式f = open('hello.txt') #'hello.txt
- SQL Server管理,你做得好吗?下文这些可能会对你的工作有一些帮助,不妨耐心的看看吧。1. 数据库文件有.mdf .ndf .ldf三
- 原本运行正常的ASP页面,今天突然提示: 代码如下: Microsoft VBScript 运行时错误 错误 '800a01a8&
- 大家都知道 在Python 中可以用如下方式表示正负无穷:float("inf") # 正无穷float("-
- 目录1. Django简介Django是什么?Django前景Django框架核心2. 设计模式MVT模式3. 开发环境简介4.创建虚拟环境
- 假设我们有一个数据集,列名叫status下面有100万的数据,其中包装 “HUMAN_REFUSE”,”SYS_REFUSE”,”HUMAN
- asyncio 的一个好处是我们可以同时运行许多协程。这些协同程序可以在一个组中创建并存储,然后同时一起执行。这可以使用 asyncio.g
- 变量输入就是用代码获取用户通过键盘输入的信息。python中可以使用input()函数实现输入变量, input() 函数接受一个标准输入数
- 我通过如下的一段程序发送post请求:import urllib3pool = urllib3.connection_from_url(&#