我知道如何从子标签获取数据,但我想从“根”标签的子标签的子标签获取数据。 我们可以使用这个数据库作为例子:
<DB>
<Entry>
<Name></Name>
<DisplayName>Assembly.iam</DisplayName>
<Scalar>
<Name>d0</Name>
<DisplayName>d0 (value = 0 mm)</DisplayName>
<Value>0</Value>
</Scalar>
</Entry>
</DB>
这是我从子标签获取数据的代码:
from xml.etree import ElementTree
tree = ElementTree.parse("C:\\Users\\Vince\\test.xml")
root = tree.getroot()
for entry in root.findall('Entry'):
name = entry.find('DisplayName').text
print(name)
它输出:Assembly.iam
但是现在,如何显示 d0(值 = 0 毫米)
?
最佳答案
要打印所有显示名称,您应该尝试 -
dnames = entry.findall(".//DisplayName")
for x in dnames:
print(x.text)
用于获取<Scalar>
下的特定显示名称,你可以执行以下操作-
name = entry.find('./Scalar/DisplayName').text
print(name)
关于python - XML 文件解析 - 从子级的子级获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30919643/