php и xml. Что ж я не так делаю?

J
На сайте с 08.06.2006
Offline
844
835

....

<offers>
<offer id="78804855" type="vendor.model" available="true"><model><![CDATA[Ингалятор МЭШ Omron NE-U22 Micro AIRCompact (Япония)]]></model><categoryId>340</categoryId><price>141,83</price><currencyId>USD</currencyId><picture><![CDATA[]]></picture><url><![CDATA[]]></url><description><![CDATA[Скорость распыления: 0,4-0,5 мл/минюРазмер частиц: 4,8 мкм (РФ-80%)Остаточный объем: 0,1 мл.Объем резервуара для медикаментов: 7 мл.(максимум)Высота: 10,5 см., вес: 97 г.Футляр и сумка для хранения и транспортировкиГарантия: 12 месяцев.]]></description><vendor><![CDATA[Omron]]></vendor></offer>
</offers>
.....

$price = simplexml_load_file('export_xml/prices_'.$shop->id.'.xml');

foreach($price->offer as $item)
{
print $item->model." ".$item->price." ".$item->url."<br>";
}

Выдает пусто!

Хотя в

print_r($price);
все что нужно
C
На сайте с 26.10.2013
Offline
54
#1

Так не работает?


$file = simplexml_load_file('export_xml/prices_'.$shop->id.'.xml');

foreach ($file->offers as $price)
foreach($price->offer as $item)
{
print $item->model." ".$item->price." ".$item->url."<br>";
}
Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
J
На сайте с 08.06.2006
Offline
844
#2

colorito, нет. и так тоже не хочет

Jurgen s
На сайте с 21.05.2008
Offline
153
#3

покажите всю верхнюю часть xml

http://police-ua.com/ (http://police-ua.com/) Форум сотрудников МВД Украины
J
На сайте с 08.06.2006
Offline
844
#4
Jurgen's:
покажите всю верхнюю часть xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2016-02-12 12:50:08">
<shop>
<name>Ingor.com.ua</name>
<company>Intor.com.ua</company>
<url>http://Intor.com.ua</url>
<currencies>
<currency id="USD" rate="1"/>
</currencies>
<categories>
<category id="340">Ингаляторы</category>
</categories>
<offers>

вот она .............

Jurgen s
На сайте с 21.05.2008
Offline
153
#5

держите


$str = file_get_contents('str.xml');

$xml = new SimpleXMLElement($str);



foreach ($xml->shop->offers->offer as $el) {

echo $el->model.'-'.$el->price.'-'.$el->url.'<br>';
}

результат


Ингалятор МЭШ Omron NE-U22 Micro AIRCompact (Япония)-141,83-
1Ингалятор МЭШ Omron NE-U22 Micro AIRCompact (Япония)-1111,83-

ну и сама xml на всякий случай

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2016-02-12 12:50:08">
<shop>
<name>Ingor.com.ua</name>
<company>Intor.com.ua</company>
<url>http://Intor.com.ua</url>
<currencies>
<currency id="USD" rate="1"/>
</currencies>
<categories>
<category id="340">Ингаляторы</category>
</categories>
<offers>
<offer id="78804855" type="vendor.model" available="true">
<model><![CDATA[Ингалятор МЭШ Omron NE-U22 Micro AIRCompact (Япония)]]></model>
<categoryId>340</categoryId>
<price>141,83</price>
<currencyId>USD</currencyId>
<picture><![CDATA[]]></picture>
<url><![CDATA[]]></url>
<description><![CDATA[Скорость распыления: 0,4-0,5 мл/минюРазмер частиц: 4,8 мкм (РФ-80%)Остаточный объем: 0,1 мл.Объем резервуара для медикаментов: 7 мл.(максимум)Высота: 10,5 см., вес: 97 г.Футляр и сумка для хранения и транспортировкиГарантия: 12 месяцев.]]></description>
<vendor><![CDATA[Omron]]></vendor>
</offer>
<offer id="788048515" type="vendor.model" available="true">
<model><![CDATA[1Ингалятор МЭШ Omron NE-U22 Micro AIRCompact (Япония)]]></model>
<categoryId>3401</categoryId>
<price>1111,83</price>
<currencyId>USD</currencyId>
<picture><![CDATA[]]></picture>
<url><![CDATA[]]></url>
<description><![CDATA[1Скорость распыления: 0,4-0,5 мл/минюРазмер частиц: 4,8 мкм (РФ-80%)Остаточный объем: 0,1 мл.Объем резервуара для медикаментов: 7 мл.(максимум)Высота: 10,5 см., вес: 97 г.Футляр и сумка для хранения и транспортировкиГарантия: 12 месяцев.]]></description>
<vendor><![CDATA[Omron]]></vendor>
</offer>
</offers>
</shop>
</yml_catalog>
J
На сайте с 08.06.2006
Offline
844
#6
<offer id="788048515" type="vendor.model" available="true">
<model><!***91;CDATA***91;1Ингалятор МЭШ Omron NE-U22 Micro AIRCompact (Япония)***93;***93;></model>
<categoryId>3401</categoryId>
<price>1111,83</price>
<currencyId>USD</currencyId>

а как получить id="788048515"

foreach ($xml->shop->offers->offer as $el) {


echo $el->model.'-'.$el->price.'-'.$el->url.'<br>';
}

$el['id'] ничего не выводит

siv1987
На сайте с 02.04.2009
Offline
427
#7

(string) $el['id']

$el->attributes()->id

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий