我试图重复所有的击球'使用ElementTree使用以下代码在给定的xml文件中标记:
col.id { width: 1%; }
col.name { width: 30%; }
col.actions { width: 1%; }
当我运行程序时,它会出错。
import xml.etree.cElementTree as ET
import requests
f = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20cricket.player.profile%20where%20player_id%3D"
s = "2962&diagnostics=true&env=store%3A%2F%2F0TxIGQMQbObzvU4Apia0V0"
ans = f + s
tree = ET.fromstring(requests.get(ans).text)
for x in tree.iter('Batting'):
matches = x.find('Matches').text
innings = x.find('Innings').text
runs = x.find('Runs').text
average = x.find('Average').text
print("MATCHES:%d\nINNINGS:%d\nRUNS:%d\nAVERAGE%D\n"%(matches,innings,runs,average))
我努力了,但我无法弄清楚为什么我的查询返回为空。
答案 0 :(得分:0)
从YQL控制台查看; Batting命名匹配没有子节点。
看起来Batting的Child节点是另一组子树,只是用1-20的数字命名。
http://i.imgur.com/0byDAX0.jpg?1
尝试查看.get()而不是.text是否可以检索属性
https://docs.python.org/2/library/xml.etree.elementtree.html#finding-interesting-elements