Перебирать элемент XML и помещать элемент в массив - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть простой XML-документ, содержащий два идентификатора города.

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

При переборе XML-кода я могу выбрать только первый идентификатор города, например, Лондон.

<?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 Ответ

1 голос
/ 21 февраля 2012
foreach ($xml->city->id as $cityId)

Должно быть:

foreach ($xml->city as $city) {
    $cityId = $city->id;
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...