2012-02-21 93 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; 
    ... 
}