[Python-de] BeautifulSoup contents Listen error

A. Nigl newsletter at que-world.net
Sa Mai 31 09:06:55 UTC 2008


Hallo Liste,
ich versuche gerade ein eine, naja sagen wir mal, xml-Datei mit
BeautifulSoup zu parsen und bekomme dabei eine mir unerklärliche
Fehlermeldung. Es ist nicht so das ich diese nicht umgehen könnte,
allerdings verwirrt es mich etwas wenn ich aus einer Liste mit der Länge
1 nicht auch das erste Element entnehmen kann.
Aber seht selbst:

from BeautifulSoup import BeautifulStoneSoup
xml = '<HAM><EGG><HAM_ID><![CDATA[12345]]></HAM_ID></EGG></HAM>'
soup = BeautifulStoneSoup(xml)
for egg in soup('egg'):
     for ham in egg('ham_id'):
         print type(ham.contents)
         print len(ham.contents)
         print ham.contents
         print ham.contents[0]

==

Die Ausgabe lautet:
<type 'list'>
1
[u'12345']

Traceback (most recent call last):
   File "test.py", line 9, in -toplevel-
     print ham.contents[0]
TypeError: 'NoneType' object is not callable

Kann mir das jemand Erklären?

Gruß Alexander