Позвольте мне привести пример:
from BeautifulSoup import BeautifulStoneSoup
root = ''' <all2>
<images>
<image>
<name> Picture </name>
<url> www.thing.com</url>
</image>
<image>
<name> Another one! </name>
</image>
</images>
</all2>
'''
soup = BeautifulStoneSoup(root)
for img in soup.all2.images.findAll("image"):
iname = img.i_name
iurl = img.url
print iname
print iurl
Пусть тег будет необязательным. В этом случае вторая итерация не сможет найти тег, и будет выдано исключение:
AttributeError: у объекта 'NoneType' нет атрибута 'renderContents'
Я бы хотел, чтобы iurl был None, если дополнительный тег не отображается. Это возможно? Или мое понимание XML неверно.