python读取xml节点_1.23

xml文件节点一般分文三类:

 

1、元素节点 (比如:Class、student)

2、文本节点 (比如:标签对里有内容的,name、age)

3、属性节点 (比如:login里的信息,包含用户、密码)

 

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

nodeName(节点名称)

nodeValue(节点值)

nodeType(节点类型)

 

 

一、读取xml元素节点

在根目录下创建一个文件夹:new—Directory,命名:xml_Read

把 Class_info.xml 拖到 xml_Read 文件夹里

在同一文件夹内新建python_file

 

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

from xml.dom import minidom #导入这个模块

dom=minidom.parse('Class_info.xml') #加载xml文件,新建的脚本必须和这个xml文件在一个目录下,必须是绝对路径

root=dom.documentElement #加载dom对象元素

print(root.nodeName) #打印节点信息

print(root.nodeValue)

print(root.nodeType)

 

运行结果

Class

None

1

 

详解:

nodeName 节点名称

nodeValue 返回文本节点的值

nodeType 属性返回以数字值返回指定节点的节点类型

1、如果节点是元素节点,则nodeType属性将返回1

2、如果节点是属性节点,则nodeType属性将返回2

 

 

二、读取xml文本节点的值

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

 

from xml.dom import minidom

#打开文件

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

#获取文档对象元素

root=dom.documentElement

#根据标签名称获取标签对象

names=root.getElementsTagName('name')

args=root.getElementsByTaName('age')

citys=root.getElementsByTaName('city')

#分别打印显示xml文档签对里面的内容

for i in range(4)

    print(name[i].firstChild.data)

    print(args[i].firstChild.data)

    print(citys[i].firstChild.data)

 

 

三、读取xml属性节点的值

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

from xml.dom import minidom

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')

    print(username)

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

    print(password)

 

 

四、读取xml子节点

读取子节点<student相关属性>

nodeName(节点名称)

nodeValue(节点值)

nodeType(节点类型)

 

from xml.dom import minidom

#加载 xml 文件

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

root=dom.documentElement

tags=root.getElementsByTagName('student')

print(tags[0].nodeName)

print(tags[0].tagName)

print(tags[0].nodeType)

print(tags[0].nodeValue)

 

运行结果:

student

student

1

None

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值