我知道如何从子标记中获取数据,但我想从“root”标记的子标记的子标记中获取数据。 我们可以使用这个数据库,例如:
<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 (value = 0 mm)
?
答案 0 :(得分:2)
要打印所有显示名称,您应该尝试 -
dnames = entry.findall(".//DisplayName")
for x in dnames:
print(x.text)
要获取<Scalar>
下的特定显示名称,您可以执行以下操作 -
name = entry.find('./Scalar/DisplayName').text
print(name)