Всем привет, Нужно парсить xml фиды, Сам xml файл считывается в объект SimpleXML. например чтобы пройтись по свойствам товаров делаю: PHP: $feedData=simplexml_load_file($fidurl); $exp=$feedData->offers->offer; foreach ($exp as $offer=>$param){ //код } Но структура и адрес до нужного тега может отличаться, и быть например $feedData->shop->offers->offer или вместо offers может быть items и т.п., так вот, возможно ли сделать что-то типа такого: PHP: $offerpath='shop->items->item'; $offers=$feedData->$offerpath; // дальше перебираем универсально через foreach Такой вариант не работает, но может есть правильный синтаксис?
Пока придумал такой вариант: PHP: $path='shop->items->item'; $exp=$feedData; $path=explode('->',$path); foreach ($path as $lvl){ $exp=$exp->{$lvl}; } Если есть решение лучше буду рад
PHP: <?php $xml = simplexml_load_file('file.xml'); $result = $xml->xpath("//offer"); print_r($result); ?>
Проблема будет если xml большой. Почитайте про xmlreader Там на этапе чтения будете выбирать толтко узлы offer