繁体   English   中英

Python XML解析:如果元素不存在

[英]Python XML Parsing: If An Element Doesn't Exist

我正在尝试解析一些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_datetimeGMT,gamenumber和sporttype的话,这段代码可以正常工作。但是,例如,假设没有datetimeGMT,我就无法跳过它并进入下一个游戏...

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

第一:

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

第二:

for x in xmldoc:
    try:
        x.getElementsByTagName("event_datetimeGMT")[0].firstChild.data
    except IndexError:
        pass
    ...

只要没有任何元素,就让程序设计师知道如何处理这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM