【问题标题】:Google Spreadsheet ImportXML Error: Imported XML content cannot be parsedGoogle 电子表格 ImportXML 错误:无法解析导入的 XML 内容
【发布时间】:2015-01-07 16:48:27
【问题描述】:

这个功能似乎一般都可以工作,但在这种情况下:

网址:http://www.londonstockexchange.com/exchange/prices/stocks/summary/fundamentals.html?fourWayKey=GB00B1YW4409GBGBXSET1

XPATH://*[@id='leftTable']/table[1]/tbody/tr[23]/td[2](尽管它不适用于任何 XPATH)。

我得到了错误

Error: Imported XML content cannot be parsed.

我认为问题出在页面本身,但我看不到 Google 看到了什么(或者我可以看到什么?)任何指针将不胜感激。

【问题讨论】:

  • 确定 IMPORTXML 可以导入 HTML - 这不一定是格式正确的 XML?您尝试过 IMPORTHTML 吗?并且,可以肯定的是,尝试使用 XPath 表达式 without tbody.
  • 所以 IMPORTHTML 确实有效,但所有 XPATH 似乎都失败了。会不会是源网址有问题?
  • 您真正要在原始源 HTML 中找到的内容还是由 Javascript 生成的内容?您是否尝试过没有tbody 的表达式?您是如何识别路径表达式的?
  • 是的,它肯定在里面。我也尝试了几个通用的 XPATH(获取链接,获取标题),这些也不起作用。我使用 Chrome 的调试工具确定了我正在使用的路径表达式。

标签: xml xpath google-sheets


【解决方案1】:

非常奇怪,但新版 Google 表格中有关 IMPORTXML 函数问题的一般解决方案是 - use the older version

如果在单元格中使用以下公式:

=IMPORTXML("http://www.londonstockexchange.com/exchange/prices/stocks/summary/fundamentals.html?fourWayKey=GB00B1YW4409GBGBXSET1","//*[@id='leftTable']/table[1]/tbody/tr[23]/td[2]")

显示的结果是:

8.10p

我认为这是正确的。

【讨论】:

  • 哇。我确信我做对了!谢谢!认为有什么方法可以提交错误报告?
  • @cjm2671 不客气。我想说 IMPORTXML 有问题是众所周知的,但提醒他们也无妨。
  • 很遗憾,因为它是 Google 电子表格最棒的功能之一!
【解决方案2】:

今天大多数 ImportXML 错误是因为该页面使用了 Javascript。

如果您使用开发者工具并在 Chrome 中检查该网站,您会发现 HTML 由 Javascript 呈现到 DOM 中。但是,如果您查看页面源,您将找不到数据。

Google 表格不充当客户端浏览器,因此 JS 无处执行。

这就是从 Inspect Element 复制到 Google Sheets IMPORTXML 的 XML 路径出错的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多