使用IMPORTXML查询世界银行XML API时XPath返回空数据的问题
解决Google Sheets IMPORTXML获取世界银行XML数据空值问题
问题原因
世界银行API返回的XML使用了wb命名空间,Google Sheets的IMPORTXML函数对带命名空间前缀的XPath支持存在兼容性问题——即便你的XPath在第三方工具中能正常匹配节点,直接在IMPORTXML里使用wb:value前缀仍会导致解析失败,返回“Imported Content is Empty”错误。
解决方案
改用不依赖命名空间前缀的XPath写法,通过local-name()函数匹配节点名称,同时保留筛选非空节点的逻辑:
=IMPORTXML("https://api.worldbank.org/v2/country/AFG/indicator/FM.LBL.BMNY.CN?format=xml", "(//*[local-name()='value' and normalize-space()])[1]")
替代方案(复杂场景兜底)
如果上述写法仍有问题,可以先获取所有value节点,再用INDEX+MATCH提取第一个非空值:
=INDEX(IMPORTXML("https://api.worldbank.org/v2/country/AFG/indicator/FM.LBL.BMNY.CN?format=xml", "//*[local-name()='value']"), MATCH(TRUE, INDEX(NOT(ISBLANK(IMPORTXML("https://api.worldbank.org/v2/country/AFG/indicator/FM.LBL.BMNY.CN?format=xml", "//*[local-name()='value']"))),0),0))
内容的提问来源于stack exchange,提问作者Nick Kokay
相关产品推荐
相关产品推荐

