【发布时间】:2014-08-07 15:48:34
【问题描述】:
我有一些具有以下结构的 xml,并且正在尝试将所有协作者字符串提取到列表中以供进一步分析
<sponsors>
<lead_sponsor>University of Erlangen-Nürnberg Medical School</lead_sponsor>
<collaborator>University Hospital Regensburg</collaborator>
<collaborator>Wuerzburg University Hospital</collaborator>
<collaborator>University Hospital, Essen</collaborator>
<collaborator>German Research Foundation</collaborator>
</sponsors>
我想出的代码似乎将第一个合作者拉到一个 ok 并放入一个 '???'如果没有合作者,但如果有多个合作者,则没有其余的合作者,我不知道为什么。在这里查看类似的问题似乎表明它会起作用,但我显然误解了一些东西。这是我得到的:
tree = etree.parse(infile)
root = tree.getroot()
for elem in tree.iter(tag='sponsors'):
child = elem.find('collaborator')
if child is not None:
co = child.text
else:
co = "???"
collaborator.append(co)
print(co)
我哪里出错了?
【问题讨论】:
标签: xml python-3.x