我有一个具有以下结构的XML文件:
<markers>
<marker>
<marker_id>...</marker_id>
<map_id>...</map_id>
<title>Test Location 1</title>
<address>Blah Blah Blah</address>
<desc/>
<pic/>
<icon>...</icon>
<linkd/>
<lat>...</lat>
<lng>...</lng>
<anim>...</anim>
<category>...</category>
<infoopen>...</infoopen>
</marker>
</markers>
基本上它是从谷歌地图位置XML文件中提取数据。
我只需回应一下
这是我到目前为止所拥有的:
<?php
$url = 'myurl/1markers.xml';
$file = file_get_contents($url);
$xml = simplexml_load_string($file);
foreach($xml->markers as $x) {
$location = $x->marker->title;
echo $location;
}
?>
它似乎没有回应......?
我可能没有在foreach的某个地方做到这一点,任何人都能看到我错过的东西吗?
由于
标记
答案 0 :(得分:0)
标记是根标记。请参阅http://php.net/manual/en/simplexml.examples-basic.php,您的代码应如下所示:
foreach($xml->marker as $x) {
echo $x->title;
}
答案 1 :(得分:0)
替换file_get_contents可能很有用:http://www.php.net/manual/en/function.simplexml-load-file.php
<?php
$XML = <<<'XML'
<markers>
<marker>
<marker_id>...</marker_id>
<map_id>...</map_id>
<title>Test Location 1</title>
<address>Blah Blah Blah</address>
<desc/>
<pic/>
<icon>...</icon>
<linkd/>
<lat>...</lat>
<lng>...</lng>
<anim>...</anim>
<category>...</category>
<infoopen>...</infoopen>
</marker>
</markers>
XML;
$xml = simplexml_load_string($XML);
//这似乎解决了问题,问题是您试图访问隐含的根标记。
foreach($xml->marker as $x) {
$location = $x->title;
var_dump($location);
}
?>
答案 2 :(得分:0)
使用simplexml_load_file()
<?php
$xml = simplexml_load_file("new.xml");
foreach($xml as $x) {
$location = $x->title;
echo $location;
}
?>