【发布时间】:2016-04-06 08:56:44
【问题描述】:
我正在尝试通过 OSM PHP API 更新我之前创建的节点。我开发了一些函数,通过使用开放的街道地图 API 进行一些 CRUD 操作。
我的更新函数正在获取节点和变更集 id 以进行此操作,然后我通过此 url /api/0.6/node/#id 发出 put 请求
$ls_url_update_node = $this->get_api()->get_base_url() . "/api/0.6/node/".$this->get_id();
$lo_requete = Request::put($ls_url_update_node);
$ls_xml_node = $this->generate_xml($po_changeset);
$lo_requete = Request::put($ls_url_update_node)
->sendsType('text/xml')
->addHeader('Authorization', $this->get_api()->get_authorization_header())
->body($ls_xml_node);
$lo_response = $lo_requete->send();
genarate_xml 函数尝试生成符合 OSM 规范的有效 XML。
<osm>
<node id="123" lat="..." lon="..." version="142" changeset="12" user="fred" uid="123" visible="true" timestamp="2005-07-30T14:27:12+01:00">
<tag k="note" v="Just a node"/>
...
</node>
</osm>
OSM Api 返回此错误消息:无法从 xml 字符串解析有效节点。 Mayeb 我已经跳过了节点的创建和更新之间的一些差异。所以请大家帮忙。
【问题讨论】:
-
请向我们展示您尝试发送的 XML 文件的完整示例。
标签: php openstreetmap