@Alpha12

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

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

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

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

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

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