【发布时间】:2021-06-08 03:22:45
【问题描述】:
我有一个 XML 文件。
这是内容:
<Country>
<number no="2008" info="update">
<detail name="man1" class="A1">
<string name="ruth" />
<string name="amy" />
</detail>
<detail name="man2" class="A2">
<string name="lisa" />
<string name="graham" />
</detail>
</number>
<number no="2006" info="update">
<detail name="woman1" class="B1">
<string name="grace" />
<string name="chil" />
</detail>
<detail name="woman2" class="B2">
<string name="emy" />
<string name="toms" />
</detail>
</number>
</Country>
我需要通过与这个值class="A1"进行映射来获取这里<number no="2008"中数字的值
我试过这种方式,但它打印None。
这是代码:
import xml.etree.ElementTree as ET
ReadXML = ET.parse('data.xml')
stringno = 'A1'
for family in ReadXML.findall('./number/detail[@class="{}"]'.format(stringno)):
name = family.get('no')
print(name)
任何人都可以帮助我,拜托。非常感谢
【问题讨论】:
-
这是
xml.etree还是lxml?ReadXML有xpath()方法吗? -
@har07 我像这样使用
xml.etreeReadXML = ET.parse('data.xml')不,我没有xpath方法
标签: python xml string tags mapping