Как разобрать файл XML с несколькими неспецифическими элементами

Я пытаюсь проанализировать список случаев, возвращаемых API Fogbugz.

Текущий код:

from fogbugz import FogBugz
from datetime import datetime, timedelta
import fbSettings

fb = FogBugz(fbSettings.URL, fbSettings.TOKEN)

resp = fb.search(q='project:"Python Testing"',cols='ixBug')

print resp.cases.case.ixbug.string

Проблема в том, что XML имеет несколько случаев, возвращаемых просто как случай. Например, мой тестовый поиск вернет следующее:

<response>
<cases count="3">
 <case ixbug="133529" operations="edit,assign,resolve,email,remind">
  <ixbug>
   133529
  </ixbug>
 </case>
 <case ixbug="133528" operations="edit,assign,resolve,email,remind">
  <ixbug>
   133528
  </ixbug>
 </case>
 <case ixbug="133527" operations="edit,assign,resolve,email,remind">
  <ixbug>
   133527
  </ixbug>
 </case>
</cases>
</response>

Но

print resp.cases.case.ixbug.string

возвращает только первый номер случая в XML, игнорируя два других. Как я могу изменить свой оператор печати, чтобы он возвращал все три номера дела?


person Juice    schedule 10.06.2015    source источник


Ответы (1)


Из документов:

from fogbugz import FogBugz
import fbSettings

fb = FogBugz(fbSettings.URL, fbSettings.TOKEN)

resp = fb.search(q='project:"Python Testing"',cols='ixBug')

# printing
for case in resp.cases.findAll('case'):
    print case.ixbug.string

# store in a list
l = [case.ixbug.string for case in resp.cases.findAll('case')]
person Alexander McFarlane    schedule 11.06.2015