通过Webservice和FilterXML获取必应地图高程数据时出现VALUE错误
问题排查与修正方案
- URL格式错误:Bing Maps Elevation API的
points参数不需要包裹大括号,正确格式为纬度,经度;key参数同样不需要大括号,文档里的{}只是占位符标识,实际请求必须移除。 - 返回格式不兼容:API默认返回JSON,但
FILTERXML仅能解析XML格式,需在URL中添加output=xml参数强制返回XML。
修正后的公式:
=FILTERXML(WEBSERVICE("http://dev.virtualearth.net/REST/v1/Elevation/List?points="&I1092&","&J1092&"&output=xml&key="&BingKey), "//Elevation/Value")
额外验证步骤:
- 先把URL替换为字面量直接在浏览器打开,确认返回正常的XML数据,例如:
http://dev.virtualearth.net/REST/v1/Elevation/List?points=39.9042,116.4074&output=xml&key=你的API密钥 - 若浏览器能正常返回XML,再用修正后的公式在Excel中测试,此时
//Elevation/Value可直接提取高程数值,无需用//*做测试。
内容的提问来源于stack exchange,提问作者Rodario
相关产品推荐
相关产品推荐

