如何检查 XML 中是否包含某个属性?

How to check if an Attribute is contained in XML?

我收到 KeyError: 'About Me'。我发现 Whosebug for Users 的转储数据包含一些没有 AboutMe 变量的用户。通过 xml['AboutMe'] 的迭代工作正常。但是如果某些用户没有 AboutMe 变量,脚本会崩溃并给我一个 KeyError。

我尝试检查是否包含 AboutMe。如果是,它应该在没有 HTML 标记的情况下打印 AboutMe。

如果不包含。它应该将值 None 分配给此条目。

那是我的代码:

 if element['AboutMe'] is not None:
    cleanAboutMe = BeautifulSoup(element['AboutMe'], "lxml").text
    print(cleanAboutMe)
else:
    element = {'AboutMe':'None'}

我得到的输出

This is a puppet test account I use to validate "regular user" stuff on the site
-- Jeff Atwood
Independent software engineer

I'm not takin' my sneakers off!
if element['AboutMe'] is not None:
KeyError: 'AboutMe'

希望大家帮帮忙。我搜索并尝试了 Whosebug 中的每个问题,但 None 帮助了我。我每次都会遇到这个关键错误。

注意事项:变量 Element 确实工作正常,但如果我指向 AboutMe 键,则会出现错误。

此致

Theeninfam

如果元素可能没有该属性,请使用 element.get('AboutMe') 获取属性值,如果属性不存在,则使用 None。 get 是 ElementTree 实现的标准函数。 https://docs.python.org/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.get