首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python体育播放器

Python体育播放器
EN

Stack Overflow用户
提问于 2015-03-18 22:19:10
回答 1查看 31关注 0票数 0

我正在尝试打印这个XML http://api.cbssports.com/fantasy/players/list?version=3.0&SPORT=basketball中每个玩家的名字、姓氏、proteam和标题。

到目前为止,这是我的代码,但不起作用

代码语言:javascript
运行
复制
from urllib2 import Request, urlopen, URLError
import xml.etree.ElementTree as ET

request = Request('http://api.cbssports.com/fantasy/players/list?version=3.0&SPORT=basketball')

try:
   response = urlopen(request)
   tree = ET.parse(response)
   root = tree.getroot()
   for player in root.findall('.//players'):
      firstname = player.find('firstname').text
      lastname = player.find('lastname').text
      print firstname, lastname
except URLError, e:
    print 'error:', e

我相信错误出现在for循环语句中,因为名字不是玩家的直接子项,它的父名是player id。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-18 22:22:24

准备双斜杠以搜索上下文中的任何位置,当前元素。您需要迭代player元素,而不是players

代码语言:javascript
运行
复制
for player in root.findall('.//players/player'):
    firstname = player.findtext('.//firstname')
    lastname = player.findtext('.//lastname')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29133782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档