Задать вопрос
@lankiser

Как в wp all import по xpath надо выйти в соседнюю ветку?

У меня есть файл с примерно такой структурой

<shop>
    <categories>
        <category id='123'>test</category>
    </categories>
    <offer>
        <name>Product Name</name>
        <categoryid>123</categoryid>
        <param name='test'>Attribute 1</param>
        <param name='test2'>Attribute 2</param>
    </offer>
</shop>


во время импорта я нахожусь в offer и соотвестсвенно напрямую с веткой categories не могу взаимодействовать, а мне надо получить название категории, а у меня есть лишь categoryId, пытался написать функцию которая доставала бы сама так, но слишком грузило потому что приходилось повторно открывать файл и в нём рыскать, а он достаточно большой думаю есть возможность как то туда добраться с помощью xpath или по другому но не понимаю как

{./categories/category@id = categoryId[1]}
вот так пытался получить но тоже не получилось
  • Вопрос задан
  • 45 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@Roman-Fov
Примерно так:
/shop/categories/category[@id = '123']/text()

67b710de83560590207554.png

Но тут непонятно, можно ли id категории передать в запрос как переменную. Ну или подзапросом сделать напр.

переменные
/shop/categories/category[@id = <?php echo $category_id; ?>]/text()

подзапросом
/shop/categories/category[@id = /shop/offer[1]/categoryid/text()]/text()

или если в offer уже
/shop/categories/category[@id = ./categoryid/text()]/text()


Надо смотреть как работает этот плагин, что использует и что вообще может.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы