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子节点
读取子节点
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