Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OSM创建的XML的XPath,Overpass API_Xml_Xpath_Google Sheets - Fatal编程技术网

OSM创建的XML的XPath,Overpass API

OSM创建的XML的XPath,Overpass API,xml,xpath,google-sheets,Xml,Xpath,Google Sheets,我太迷路了。我花了几乎一整天的时间试图解决这个问题,我非常感谢你的帮助 我有一百个XML文件,是通过OverpassAPI创建的。它们都包含许多“节点”,每个节点都包含不同的城市名称和其他我现在不需要的数据 目前,我只对每个XML中列出的城市名称感兴趣,并希望将它们作为列表导入到单个Google Sheet单元格中 一个XML文件中的一个节点示例: <osm version="0.6" generator="Overpass API 0.7.54.13 ff15392f">

我太迷路了。我花了几乎一整天的时间试图解决这个问题,我非常感谢你的帮助

我有一百个XML文件,是通过OverpassAPI创建的。它们都包含许多“节点”,每个节点都包含不同的城市名称和其他我现在不需要的数据

目前,我只对每个XML中列出的城市名称感兴趣,并希望将它们作为列表导入到单个Google Sheet单元格中

一个XML文件中的一个节点示例:

    <osm version="0.6" generator="Overpass API 0.7.54.13 ff15392f">
    <note>
    The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.
    </note>
    <meta osm_base="2018-03-23T14:17:02Z"/>
    <node id="123456" lat="42.4646033" lon="14.2139199">
    <tag k="name" v="Pescara"/>
    <tag k="name:it" v="L'Aquila"/>
    <tag k="old_name" v="Aquila degli Abruzzi"/>
    ...

由于您需要所有具有k=“name”的元素,因此可以查询该元素,
/*[@k='name']
,然后添加
/@v
以获得v属性

=IMPORTXML("http://mywebsite.com/dir/file.xml", "//*[@k='name']/@v")

由于您需要所有具有k=“name”的元素,因此可以查询该元素,
/*[@k='name']
,然后添加
/@v
以获得v属性

=IMPORTXML("http://mywebsite.com/dir/file.xml", "//*[@k='name']/@v")

如果你只是做
“//node/tag[@k=name]”
,它给了你什么?谢谢@Liora-我得到“导入的内容是空的”。看起来你没有收到xml,你确定你写了正确的url吗?url确实有效,是的。也许我不理解必须添加的完整路径。。ie.//osm/meta/node/tag。。。这是必需的(用更详细的代码更新了OP)等等,如果你在name周围添加
会发生什么?比如[@k='name']`如果你只是做
”//node/tag[@k=name]“
,它会给你什么?谢谢你@Liora-我得到“导入的内容是空的”“.eek.看来你没有收到xml,你确定你写了正确的url吗?url确实有效,是的。也许我不理解必须添加的完整路径。。ie.//osm/meta/node/tag。。。这是必需的(用更详细的代码更新了OP)等等,如果你在name周围添加
,会发生什么?比如[@k='name']`
=IMPORTXML("http://mywebsite.com/dir/file.xml", "//*[@k='name']/@v")