@Alpha12

Как получить значение элемента, зная его id в xml?

Есть некий файл xml, в нем есть структура из категорий и товаров, мне нужно перезаписать свой файл, изменяя только один пункт в каждом item.
В теге item есть тег categoryId, он содержит id категории. А вверху есть структура с самими категориями, у каждой есть атрибут id и значения (название категории). Мне нужно взять значения с categoryId, найти такое же значения атрибута в списке категорий и взять его (название категории), и после categoryId создать новый тег categoryname с именем категории.

Пример файла.
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Вам нужно оперировать двумя запросами к xml-дереву:
1. Определить список узлов, для которых известны категории:
//items/item[categoryId=//catalog/category/@id]
2. Определить категорию узла при переборе результата запроса 1.
//catalog/category[@id="тут вставляем код категории"]

При вставке узла categoryname нужно ориентироваться не на categoryId, а на portal_category_id, поскольку вставлять новый узел до существующего легче, чем изобретать велосипед с функцией, которая делает вставку после.
PS: Вопрос выглядит как задание, характерное для фриланса, поэтому можно только посоветовать, как его реализовать, без подробной реализации.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы