尝试使用= ImportXML解析Google Doc中的Alexa排名。以下有效并显示全局排名:
=value(ImportXML(CONCATENATE("http://data.alexa.com/data?cli=10&dat=snbamz&url=",$A$4),"//@rank[1]"))
在理论中,如果存在,则以下应显示国家/地区排名:(这不起作用)
=ImportXML(CONCATENATE("http://data.alexa.com/data?cli=10&dat=snbamz&url=",$A$4),"//@rank[2]")
以上是不起作用的部分。它没有拉动第二个“等级”属性的值。
我也尝试过:(不起作用)
=ImportXML(CONCATENATE("http://data.alexa.com/data?cli=10&dat=snbamz&url=",$A$4),"/country/@rank")
帮助?我做错了什么?
答案 0 :(得分:1)
您的第二个XPath查询可能无法正常工作。您正在尝试查询元素的第二个@rank
属性,但可能只有一个。如果要在整个文档中选择第二个@rank
属性,请使用(//@rank)[2]
。
您的替代查询不起作用,因为country
不是根元素。请改用//country/@rank
。提供完整路径可能是合理的,以防止获取错误的元素/属性(如果它们出现在文档中的其他位置):
/alexa/sd/country/@rank
请注意,主要是XPath区分大小写,尽管Google Spreadsheet似乎不是。这里更好地使用所有大写,就像XML输入一样。
答案 1 :(得分:0)
通过反复试验,我得出以下解决方案,截至2014-02-17准确无误。
=ImportXML(CONCAT("http://data.alexa.com/data?cli=10&url=", "www.google.com"), "number(//COUNTRY[@code='US']/@rank)")
观察: