2015-03-18 31 views
0

我要打印的姓,名,PROTEAM,並對該XML http://api.cbssports.com/fantasy/players/list?version=3.0&SPORT=basketballPython的XML競技選手

每個玩家的標題這是到目前爲止我的代碼,但它不工作

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循環語句,因爲名字是不是玩家直接子,其父是玩家ID

+0

它是如何你知道如何做正確的事與'players'但不'firstname'和'lastname'? – 2015-03-18 22:24:02

+0

我對這個哈哈很新穎 – user2007843 2015-03-18 22:24:38

回答

1

前面加上雙斜線的背景下,當前元素內的任意位置進行搜索。而你需要遍歷player元素,而不是players

for player in root.findall('.//players/player'): 
    firstname = player.findtext('.//firstname') 
    lastname = player.findtext('.//lastname') 
+0

好吧,我這樣做,但它只打印第一個球員。它花了一段時間,所以它一定會收集所有玩家不知道爲什麼它不打印它們 – user2007843 2015-03-18 22:26:58

+0

@ user2007843肯定,更新。 – alecxe 2015-03-18 22:32:07

+0

謝謝。我如何添加標題,雖然它的父母是圖標? – user2007843 2015-03-18 23:18:38