使用xml.dom.minidom.Node获取XML节点的属性和值
发布时间:2023-12-18 04:44:51
xml.dom.minidom是Python中的一个内置模块,用于解析XML文档。其中的Node类是一个表示XML节点的基本类,可以通过它来获取节点的属性和值。
下面是一个使用xml.dom.minidom.Node获取XML节点属性和值的例子:
首先,我们需要准备一个XML文档。假设我们有以下XML文档data.xml:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="1">
<title>Python Crash Course</title>
<author>Eric Matthes</author>
</book>
<book id="2">
<title>The Pragmatic Programmer</title>
<author>Andrew Hunt and David Thomas</author>
</book>
</books>
我们可以使用如下代码来获取XML文档的节点属性和值:
import xml.dom.minidom
# 打开XML文档
dom = xml.dom.minidom.parse('data.xml')
# 获取根节点
root = dom.documentElement
# 获取所有book节点
books = root.getElementsByTagName('book')
# 遍历所有book节点
for book in books:
# 获取id属性
id = book.getAttribute('id')
print('Id:', id)
# 获取title和author节点
title = book.getElementsByTagName('title')[0]
author = book.getElementsByTagName('author')[0]
# 获取title的值
print('Title:', title.firstChild.data)
# 获取author的值
print('Author:', author.firstChild.data)
在上面的例子中,我们首先使用xml.dom.minidom.parse函数打开XML文档,并将其解析为一个DOM对象。然后,我们通过调用documentElement属性获取根节点,并通过调用getElementsByTagName方法获取所有的book节点。
接着,我们通过遍历所有的book节点,使用getAttribute方法获取id属性的值,并使用getElementsByTagName方法分别获取title和author节点。我们通过调用firstChild.data属性获取节点的文本内容。
最后,我们打印出从XML文档中获取到的节点属性和值。
运行上述代码,输出结果如下:
Id: 1 Title: Python Crash Course Author: Eric Matthes Id: 2 Title: The Pragmatic Programmer Author: Andrew Hunt and David Thomas
从以上例子中,我们可以看到通过使用xml.dom.minidom.Node类,我们可以轻松地获取XML节点的属性和值。
