【问题标题】:How to parse an XML file with multiple non-specific elements如何解析具有多个非特定元素的 XML 文件
【发布时间】:2015-08-26 11:09:54
【问题描述】:

我正在尝试解析从 Fogbugz API 返回的案例列表。

当前代码:

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 有多个 case 简单地作为 case 返回。例如我的测试搜索如下:

<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 中的第一个案例编号,忽略其他两个。如何修改我的打印语句以返回所有三个案例编号?

【问题讨论】:

    标签: python xml beautifulsoup fogbugz fogbugz-api


    【解决方案1】:

    来自docs

    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')]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2013-05-06
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 2022-11-24
      相关资源
      最近更新 更多