pythonxml解析:如果元素不存在

2024-05-21 03:56:14 发布

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

我试图解析一些xml数据(赔率),有时某个元素可能不存在,所以我试图跳过它的特定部分并继续,但是不管我做什么,我都会继续得到超出范围的列表索引。在

for x in xmldoc:
 time = x.getElementsByTagName("event_datetimeGMT")[0].firstChild.data
 game_id = x.getElementsByTagName("gamenumber")[0].firstChild.data
 sport = x.getElementsByTagName("sporttype")[0].firstChild.data

如果event\u datetimeGMT,gamenumber和sporttype,这段代码就可以正常工作了…但是假设没有datetimeGMT,例如我不能让它跳过并进入下一个游戏。。。在


Tags: 数据inevent元素列表fordataxml
1条回答
网友
1楼 · 发布于 2024-05-21 03:56:14

您试图访问所有元素列表中的第一个元素event_datetimeGMT,如果列表为空,这当然会导致索引错误。无论如何,有两个基本的解决方案可以继续。在

第一个:

for x in xmldoc:
    times = x.getElementsByTagName("event_datetimeGMT")
    if times:
        time = times[0].firstChild.data 
    ...

第二:

^{pr2}$

只要让程序知道如何处理没有元素的情况。在

相关问题 更多 >