2012-02-21 85 views
0

我有一个简单的XML文档,其中包含两个城市ID。遍历XML元素并将元素推入数组

<?xml version="1.0" encoding="ISO-8859-1"?> 
<config> 
    <city> 
     <id>London</id> 
    </city> 
    <city> 
     <id>New York</id> 
    </city> 
</config> 

当遍历XML时,我只能选择第一个城市id,例如,伦敦。

<?php 
$configFile = 'cityConfig.xml'; 

function getCityId($configFile) { 

    $xml = new SimpleXmlElement(file_get_contents("cityConfig.xml")); 

    $cities = array(); 

    foreach ($xml->city->id as $cityId) { 
     $cityId = (string) $cityId; 
     array_push($cities, $cityId); 
    } 

    return $cities; 
} 

print_r(getCityId($configFile)); 
?> 

<?php 

从上面的输出:

// Array ([0] => London) 

我铸造$cityId成字符串要在我的网站其他地方使用。

任何想法我错了吗?

在此先感谢。

+1

我想你应该遍历'$ XML->城市为$ city',然后使用'$都市> id' – dmitry 2012-02-21 08:25:08

回答

1
foreach ($xml->city->id as $cityId) 

应该是:

foreach ($xml->city as $city) { 
    $cityId = $city->id; 
    ... 
}