Forward5
Всем привет,
Нужно парсить xml фиды, Сам xml файл считывается в объект SimpleXML.например чтобы пройтись по свойствам товаров делаю:
PHP:
$exp=$feedData->offers->offer; foreach ($exp as $offer=>$param){ //код }Но структура и адрес до нужного тега может отличаться, и быть например $feedData->shop->offers->offer или вместо offers может быть items и т.п., так вот, возможно ли сделать что-то типа такого:
PHP:
$offerpath=‘shop->items->item’; $offers=$feedData->$offerpath; // дальше перебираем универсально через foreachТакой вариант не работает, но может есть правильный синтаксис?
Forward5
Пока придумал такой вариант:
PHP:
$path=‘shop->items->item’; $exp=$feedData; foreach ($path as $lvl){ $exp=$exp->{$lvl}; }Если есть решение лучше буду рад
MouseZver
Велосипед от которого смысла 0
Drunkenmunky
PHP:
<?php $result = $xml->xpath(«//offer»); ?>
Forward5
Да, это лучше, Спасибо!
php8guru
Проблема будет если xml большой.
Почитайте про xmlreader
Там на этапе чтения будете выбирать толтко узлы offer