用python可以处理xml文件怎么打开_Python xml文件处理

本文介绍了XML的基本概念,以及如何使用Python的xml.dom.minidom库来读取、解析和操作XML文件。通过示例展示了读取元素节点、文本节点、属性节点以及子节点的方法,包括获取节点名称、值、类型,以及打印学生和老师的相关信息和账号密码。
摘要由CSDN通过智能技术生成

什么是XML文件?

xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

从结构上,很像HTML超文本标记语言。但他们被设计的目的是不同的,具体如下:

XML 被设计用来传输和存储数据

HTML 被设计用来显示数据

创建xml文件:

Nancy

23

Chengdu

Anne

24

Chongqing

Hugh

25

Beijing

Bob

27

Shanghai

XML节点

xml文件节点一般包含3类:

元素节点

文本节点

属性节点

每个节点都拥有包含着关于节点某些信息的属性。这些属性是:

nodeName(节点名称)

nodeValue(节点值)

nodeType(节点类型)

读取元素节点

案例:查看Class_info.xml文件里Class节点的属性(结点名称,节点的值、节点类型)

from xml.dom importminidom#加载xml文件

dom=minidom.parse('Class_info.xml')#加载dom对象元素

root=dom.documentElement#打印节点信息

print(root.nodeName) #获取节点名称

print(root.nodeValue) #获取节点值

print(root.nodeType) #获取节点类型,元素节点返回1,属性节点返回2

运行结果:

Class

None

1

读取文本节点的值

案例:分别打印出Class_info.xml里的学生和老师的详细信息(姓名,年龄、城市)

from xml.dom importminidom#打开文件

dom=minidom.parse('Class_info.xml')#获取文档对象元素

root=dom.documentElement#根据标签名称获取标签对象

names=root.getElementsByTagName('name')

ages=root.getElementsByTagName('age')

citys=root.getElementsByTagName('city')#分别打印显示xml文档标签对里面的内容

for i in range(4):print(names[i].firstChild.data)print(ages[i].firstChild.data)print(citys[i].firstChild.data)

运行结果:

Nancy

23

Chengdu

Anne

24

Chongqing

Hugh

25

Beijing

Bob

27

Shanghai

读取属性节点的值

案例:分别读取打印老师和学生的账号密码。

from xml.dom importminidom

dom=minidom.parse('Class_info.xml')

root=dom.documentElement

logins=root.getElementsByTagName('login')#获取login标签的username属性

for i in range(2):

username=logins[i].getAttribute('username')

password=logins[i].getAttribute('password')print(username)print(password)

运行结果:

student

123456

teacher

888888

读取子节点信息

案列:读取子节点相关属性

from xml.dom importminidom

dom=minidom.parse('Class_info.xml')

root=dom.documentElement

tags=root.getElementsByTagName('student')print(tags[0].nodeName)print(tags[0].nodeType)print(tags[0].nodeValue)

运行结果:

student

1

None

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值