【发布时间】:2026-02-12 09:30:01
【问题描述】:
我在一个 XML 文件中有代码,我使用 et.parse 对其进行解析:
<VIAFCluster xmlns="http://viaf.org/viaf/terms#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:void="http://rdfs.org/ns/void#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
<viafID>15</viafID>
<nameType>Personal</nameType>
</VIAFCluster>
<mainHeadings>
<data>
<text>
Gondrin de Pardaillan de Montespan, Louis-Antoine de, 1665-1736
</text>
</data>
</mainHeadings>
我想将其解析为:
[15,“个人”,“Gondrin 等”]
我似乎无法打印任何字符串信息:
import xml.etree.ElementTree as ET
tree = ET.parse('/Users/user/Documents/work/oneline.xml')
root = tree.getroot()
for node in tree.iter():
name = node.find('nameType')
print(name)
因为它显示为“无”......我做错了什么?
【问题讨论】:
-
尝试打印节点,它包含所有根元素(名称类型也是如此)。当您遍历根元素时,其中一个节点将是 nameType 元素,它会找到 None 因为您实际上是在尝试在 nameType 元素中查找 nameType 元素,而您已经在 node 变量中找到了它。跨度>
标签: python xml parsing elementtree