вопрос по SimpleXML

rojers2006

Новичок
вопрос по SimpleXML

Товарищи, есть xml файл:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<root>
<city id="МОСКВА">
<magazine shop="«СИГАРЫ»">Крымский Вал ул., 8</magazine>
<magazine shop="«ГАВАНА»">Комсомольский пр-т, 17</magazine>
</city>
</root>


скрипт который выводит это на экран выглядит следующим образом:

$res = simplexml_load_file ('../xml/wb.xml');
foreach ($res->city as $city) {
print "<br><font color=\"CC6600\">".mb_convert_encoding($city['id'] , "Windows-1251", "UTF-8"). "</font><br>";
print mb_convert_encoding($city->magazine['shop'] , "Windows-1251", "UTF-8")."<br>";
print mb_convert_encoding($city->magazine, "Windows-1251", "UTF-8")."<br>";
}



на экране выводится только первый адрес, что я неправильно делаю
Заранее спасибо
 

Фанат

oncle terrible
Команда форума
как интересно.
скажи, а какими соображениями ты руководствовался, когда писал строчку
foreach ($res->city as $city)
?
что ты в результате хотел получить?
 

rojers2006

Новичок
$res = simplexml_load_file ('../xml/wb.xml');
foreach ($res->city as $city) {
print "<br><font color=\"CC6600\">".mb_convert_encoding($city['id'] , "Windows-1251", "UTF-8"). "</font><br>";
foreach ($res->city->magazine as $magazine) {
print mb_convert_encoding($city->magazine['shop'] , "Windows-1251", "UTF-8")."<br>";
print mb_convert_encoding($city->magazine, "Windows-1251", "UTF-8")."<br>";
}
}


так выводит первый магазин 2 раза (((((((((((

-~{}~ 26.07.06 19:06:

хотел получит название города (атрибута id)

-~{}~ 26.07.06 19:17:

$res = simplexml_load_file ('../xml/wb.xml');


foreach ($res->city as $city) {
print "<br><font color=\"CC6600\">".mb_convert_encoding($city['id'] , "Windows-1251", "UTF-8"). "</font><br>";
foreach ($res->city->magazine as $magazine) {
print mb_convert_encoding($magazine['shop'] , "Windows-1251", "UTF-8")."<br>";
print mb_convert_encoding($magazine, "Windows-1251", "UTF-8")."<br>";
}
}

вот так работает, но:

если добавить еще одну конструкцию <city> например:
<city id="CАНКТ-ПЕТЕРБУРГ">
<magazine shop="«ВИНОТЕКА»">Б. Морская ул., 12</magazine>
<magazine shop="«ВИНОТОРГОВЛЯ НА НЕВСКОМ»">Невский пр-т, 15</magazine>
</city>


то во всех конструкциях (городах) одинаковые магазины (из первого)

((((((((((((((( Гуру просветите
 

Фанат

oncle terrible
Команда форума
ну так ты и перебираешь из первого.
переменная $city тебе на что? для декорации?
 

rojers2006

Новичок
не понял если честно

-~{}~ 26.07.06 19:28:

а как перейти на второй city?

дело в том, что их неизвестно сколько может быть
 
Сверху