PHP命名空间XML数组问题


PHP Namespace XML Array Issue

你好,我正在使用NOAA浮标RSS feed来创建和插入变量到Mysql中。这里有一个标签,标题为:

<georss:point>45.565 -34.123</georss:point>

我把它写成这样:

$xmlString = file_get_contents($feed_url); 
$xmlString = str_replace('georss:point','point',$xmlString);  
$xml = new SimpleXMLElement($xmlString); 
$items = $xml->xpath('channel/item'); 
$closeItems = array(); foreach($items as $item) 
{     
$latlng = explode(' ',trim($item->point));
$lat = $latlng[0];
$lng = $latlng[1];  
} 

然而,我遇到的问题是,$lat和$lng的变量对于所有提要文章都是相同的。每篇文章将有一个独特的$lat和$lng,所以我知道我在这里做错了什么。再次感谢,

问题就在这里:

foreach($items as $item) 
{     
    $latlng = explode(' ',trim($item->point));
    $lat = $latlng[0];
    $lng = $latlng[1];  
}

为每条记录赋值变量,但从不在循环中使用它们。假设在循环之后有更多的代码,这些代码将始终只接收为$lat$lng分配的最后一个值。

要纠正这个问题,将特定于记录的代码放在foreach()循环中:

foreach($items as $item) 
{     
    $latlng = explode(' ',trim($item->point));
    $lat = $latlng[0];
    $lng = $latlng[1];
    // Do something with $lat and $lng here  
}