读取元素节点
nodeName 节点名称(标签名)
nodeValue 节点值(标签里的文本)
nodeType 节点类型
如果节点是元素节点,则nodeType返回1;如果节点是属性节点,则nodeType返回2
读取文本节点(获取标签对之间的数据)
firstChild 属性返回被选节点的第一个子节点,.data表示获取该节点的数据。
读取属性节点
getAttribute方法可以获得元素的属性所对应的值。
代码如下:
from xml.dom import minidom
# 打开xml文件
xml_open = minidom.parse('message.xml')
# 加载元素节点
root =xml_open.documentElement
names = root.getElementsByTagName('name')
ages = root.getElementsByTagName('age')
addresses = root.getElementsByTagName('address')
logins = root.getElementsByTagName('login')
print(names)
# 获取xml的元素节点
print(root.nodeName)
print(root.nodeValue)
print(root.nodeType)
# 获取xml的文本节点
for i in range(4):
print(names[i].firstChild.data)
print(ages[i].firstChild.data)
print(addresses[i].firstChild.data)
# 获取xml的属性节点
for j in range(2):
username = logins[j].getAttribute('username')
print(username)
password = logins[j].getAttribute('password')
print(password)
读取子节点
# 获取xml的子节点
from xml.dom import minidom
dom = minidom.parse('message.xml')
root = dom.documentElement
tags = root.getElementsByTagName('student')
print(tags[0].nodeName)
print(tags[0].nodeValue)
print(tags[0].nodeType)