使用Google Sheets的IMPORTXML函数提取指定XML汇率数据失败求助
解决Google Sheets IMPORTXML提取TCMB XML中USD/TRY外汇卖出价的问题
问题分析
你之前的两个公式失败原因如下:
- 公式1:XPath语法错误,将
CrossOrder当成了子节点,实际它是<Currency>节点的属性,且XML的XPath索引从1开始(而非0),路径层级也不符合原XML结构。 - 公式2:浏览器复制的是页面渲染为HTML后的XPath,但目标URL返回的是纯XML文件,不存在
/html/body/div这类HTML结构,因此路径完全不匹配。
正确公式
以下两种方式都可以精准提取目标值2.9161:
方式1:通过CrossOrder属性定位
=IMPORTXML("https://www.tcmb.gov.tr/kurlar/201511/30112015.xml","//Currency[@CrossOrder='1']/ForexSelling")
- 解释:
//Currency匹配所有<Currency>节点,[@CrossOrder='1']筛选出对应USD/TRY的节点,最后提取其下的<ForexSelling>子节点内容。
方式2:通过CurrencyCode属性定位(更直观)
=IMPORTXML("https://www.tcmb.gov.tr/kurlar/201511/30112015.xml","//Currency[@CurrencyCode='USD']/ForexSelling")
- 解释:直接通过
CurrencyCode='USD'筛选目标节点,提取<ForexSelling>的值,结果即为2.9161。
内容的提问来源于stack exchange,提问作者riznad
相关产品推荐
相关产品推荐

