我已经看到了关于这个问题的各种线程,但没有一个能够帮助我。基本上,我正在解释一个 KML 文件,目的是将其加载到地图中,但命名空间真的把我搞砸了。以下是 KML 的示例:
<?xml version="1.0" encoding="UTF-8">
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2"
xmlns:kml="http://www.opengis.net/kml/2.2"
xmlns:atom="http://www.w3.org/2005/Atom">
<Folder>
<name>leeds primary schools (1 - 10)</name>
<open>1<open>
<Placemark>
blah blah blah
</Placemark>
[etc etc etc]
所以我的想法是我想获取页面上的所有 Placemark 元素。所以我正在使用这段代码:
$xml = simplexml_load_string($xml_string);
$xml->registerXPathNamespace("n", "http://www.opengis.net/kml/2.2");
$Placemarks = $xml->xpath("/n:Placemark");
然而,我被骗了,只是一个空数组。谁能看到我做错了什么?