我在Python中使用minidom,我想搜索节点列表(书),对于属性“name”等于“statistics”的每个书籍节点,我想打印节点引用。以下是我要处理的XML文件示例:
<book id='123'>
<name>statistics</name>
</book>
<book id='234'>
<name>mathematics</name>
</book>
<book id='345'>
<name>statistics</name>
</book>
所需的输出是:
123
345
关于如何实现这一目标的任何想法?
答案 0 :(得分:1)
遍历book元素并查看name节点以查看其统计信息。如果打印出书本节点的属性,则为id。
import xml.dom.minidom
Document = "<books>\
<book id='123'>\
<name>statistics</name>\
</book>\
<book id='234'>\
<name>mathematics</name>\
</book>\
<book id='345'>\
<name>statistics</name>\
</book></books>"
dom = xml.dom.minidom.parseString(Document)
for book in dom.getElementsByTagName("book"):
node = book.getElementsByTagName("name")[0]
if node.firstChild.data.strip().lower() == "statistics":
print int(book.getAttribute("id").strip())
输出
123
345