电子表格中的ImportXML函数格式数据

时间:2014-02-28 12:01:30

标签: xml excel sorting formatting google-sheets

我正在尝试使用ImportXML函数从XML Feed导入一些实时匹配数据,这就是它运行时的样子:

importXML data in cells

基本上2排= 1场比赛(西班牙队正在与意大利队比赛,埃弗顿队与利物浦队比赛等)。 团队列表是A1中的第一个ImportXML函数。分数是另一个位于B1的ImportXML函数。 我无法将蓝色区域移动到橙色区域,因此两个队伍都在一排(每排1场比赛)。 我是否必须为每场比赛创建单独的ImportXML?我不知道。

https://docs.google.com/spreadsheet/ccc?key=0AiYrkv5aSrfmdHQ1b19ORm1TODdBcUFpVk1MQjlSMHc&usp=sharing

提前致谢

1 个答案:

答案 0 :(得分:0)

我建议你用4个公式(每列一个)来做。 here演示。并贬低解释:
您需要查找您感兴趣的节点的第一个或第二个值。为此,我只修改了一点XML。请求第一个国家:

=ImportXML("http://api.espn.com/v1/sports/soccer/events/top?_accept=text/xml&apikey=9nrqbfsah2m6sprwtntth3kv";"//competitors/competitorsItem[1]/team/name")

正如您所看到的,我在[1]之后添加了competitorsItem。所以我将结果限制在第一次出现。然后在第四列我做同样的事情,但我改为[1] [2]以获得对手国家。 我在这里找到了文档:http://www.w3schools.com/xpath/xpath_syntax.asp

我希望这对你有用。

哈罗德

编辑

您会找到here上一个演示的变体,您可以立即获得所有结果 公式是:

=ImportXML("http://api.espn.com/v1/sports/soccer/events/top?_accept=text/xml&apikey=9nrqbfsah2m6sprwtntth3kv","//competitors/competitorsItem[2]/score|//competitors/competitorsItem[2]/team/name|//competitors/competitorsItem[1]/score|//competitors/competitorsItem[1]/team/name")

但当然你被迫重新混音。为此,我使用了一个数组公式:

={index(A:A;(row()-1)*4+2),index(A:A;(row()-1)*4+1),index(A:A;(row()-1)*4+3),index(A:A;(row()-1)*4+4)}