2017-05-20 156 views
1

我试图做的是使用谷歌电子表格来提取XML数据:谷歌电子表格:IMPORTXML和XPath

XML File

现在,我认为这将是一个容易的任务,并决定使用用下面的XPath蜇IMPORTXML()函数:

- =IMPORTXML("https://api.eveonline.com/map/FacWarSystems.xml.aspx", "//row[@owningFactionID='500002']") 

其中,在理论上应该返回文档中的每个条目,其中owningFactionID是500002.

问题是我只在Google Spreadsheet(Empty)中获得#N/A。

如果有人能够帮助我做错了,我会非常感激。

回答

1

您的查询是正确的,但正在返回的行元素是空的。我假设你想看到每一行的属性。你需要使用类似的东西:

=IMPORTXML("https://api.eveonline.com/map/FacWarSystems.xml.aspx","//row[@owningFactionID='500002']/@*") 
+0

完美。这正是我想要的。 – BlubQ

+0

小后续问题:有没有一种方法可以像行[1]至[42]一样在数组中显示此数据,以便能够确定有多少项符合要求,还是使用正则表达式更容易实现xml文档? – BlubQ

+0

@BlubQ我对IMPORTXML并不太熟悉。我想你会有更多的运气打开脚本编辑器,并写一个功能与应用程序脚本解析XML到你想要的格式。 https://developers.google.com/apps-script/guides/services/external#parse_xml –