добрый вечер гуру! Подскажите пожалуйста или направьте на какие то примеры что-то меня заклинило =) Имею файл xml около 20 мегабайт. Нужно немного его подредактировать. структура следующая HTML: </yml_catalog> </shop> <categories> <category id="526">главная кат.</category> <category id="731" parentId="526">подкатегории1</category> <category id="732" parentId="731">подкатегории2</category> <category id="2318" parentId="526">подкатегории3</category> </categories> </offers> <offer id="150066" available="true"> <currencyId>RUR</currencyId> <categoryId>2318</categoryId> </offer> <offer id="150077" available="true"> <currencyId>RUR</currencyId> <categoryId>731</categoryId> </offer> </offers> </shop> </yml_catalog> На выходе хотелось бы получить PHP: </offers> <offer id="150066" available="true"> <currencyId>RUR</currencyId> <categoryId>подкатегории3</categoryId> <linkcat>главная кат.</linkcat> </offer> Перечитал документацию раза 4 что-то наверно закипел. Помогите пожалуйста или на правьте на пример для детей где на пальцах раскатывают.
добрый вечер гуру! Подскажите пожалуйста или направьте на какие то примеры что-то меня заклинило =) Имею файл xml около 20 мегабайт. Нужно немного его подредактировать. структура следующая PHP: </yml_catalog> </shop> <categories> <category id="526">главная кат.</category> <category id="731" parentId="526">подкатегории1</category> <category id="732" parentId="731">подкатегории2</category> <category id="2318" parentId="526">подкатегории3</category> </categories> </offers> <offer id="150066" available="true"> <currencyId>RUR</currencyId> <categoryId>2318</categoryId> </offer> <offer id="150077" available="true"> <currencyId>RUR</currencyId> <categoryId>731</categoryId> </offer> </offers> </shop> </yml_catalog> На выходе хотелось бы получить PHP: </offers> <offer id="150066" available="true"> <currencyId>RUR</currencyId> <categoryId>подкатегории3</categoryId> <linkcat>главная кат.</linkcat> </offer> Перечитал документацию раза 4 и закипел. Помогите пожалуйста или на правьте на пример для детей где на пальцах раскатывают.
Из этого куска не понятно как offers с category связан, сожми сильно в zip файл и выложи где его легко можно будет скачать и кто-то может поможет с примером.
Код (Text): <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE yml_catalog SYSTEM "shops.dtd"> <yml_catalog date="2016-07-08 04:30"> <shop> <categories> <category id="2">категория1</category> <category id="1" linksubcat="2">категория2</category> <category id="3" linksubcat="2">категория3</category> </categories> <offers> <offer> <categoryId>2</categoryId> <articul>5630FD</articul> <name>test</name> </offer> <offer> <categoryId>1</categoryId> <articul>5630FD</articul> <name>test</name> </offer> <offer> <categoryId>3</categoryId> <articul>5630FD</articul> <name>test</name> </offer> </offers> </shop> </yml_catalog> сейчас вот сделал аналог файла упрощенный. пробую следующим образом PHP: foreach ($xmlstr->xpath('//offer') as $offer) { foreach ($xmlstr->xpath('//category') as $category) { if ((string)$offer->categoryId == $category->id) { $offer->categoryId = $category; } } } Но где то ошибаюсь итога желаемого нет. <categoryId>1</categoryId> не принимает занчение <categoryId>категория2</categoryId> Подскажите где ошибаюсь?