如何从python中的Elementtree访问great孙元素?

2024-09-24 22:20:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难使用python中的元素树访问曾孙。 具体来说,我想要访问Ev,Ec,St,DU和Si的树。完整的xml在这个线程的底部连接在一起。在

我尝试了下面的代码,但它什么也没有返回。在

import xml.etree.ElementTree as ET
tree = ET.parse('shhs_eval.xml')
root = tree.getroot()
for ScoreEvent in root.findall('Sco'):
    Event = ScoreEvent.find('Ev').text
    Start = ScoreEvent.find('St').text
    print(Event,Start)

提前谢谢

^{pr2}$

Tags: texteventtree元素rootxmlfindstart
1条回答
网友
1楼 · 发布于 2024-09-24 22:20:36

由于<Sco>不是根的直接子级,因此必须使用findall(.//<node>)(深度优先搜索)来访问它。在

import xml.etree.ElementTree as ET
tree = ET.parse('sshs_eval.xml')
root = tree.getroot()
for ScoreEvent in root.findall('.//Sco'):
    Event = ScoreEvent.find('Ev').text
    Start = ScoreEvent.find('St').text
    print(Event,Start)

相关问题 更多 >