Я пытаюсь получить все атрибуты XML для тега Name
.BeautifulSoup raise AttributeError, когда имя тега xml содержит заглавные буквы
Получение этой ошибки:
AttributeError: 'NoneType' object has no attribute 'attrs'
, когда я выполнил следующий код:
import BeautifulSoup as bs
xml = '''
<Product Code="1" HighPic="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Linksys48portswitch.jpg/220px-Linksys48portswitch.jpg" HighPicHeight="320" HighPicSize="37217" HighPicWidth="400" ID="35" Title="Demo Product">
<Category ID="23">
<Name ID="57" Value="Switches" langid="1"/>
</Category>
</Product>'''
doc = bs.BeautifulSoup(xml)
div = doc.find("Name")
for attr, val in div.attrs:
print "%s:%s" % (attr, val)
Я изменил тег "Name"
к "name"
, а затем он работает.
Почему я получаю эту ошибку, когда имя тега содержит заглавные буквы?
Спасибо. Как получить атрибут для тега 'Product'? –
@ Нихо: см. Интерфейс ['Элемент'] (http://docs.python.org/2/library/xml.etree.elementtree.html#element-objects); используйте 'root.get ('Code')' например. –