Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

Преобразование XML с помощью XSLT

Имеется XML-файл с такой структурой:

значение поля field

Необходимо с помощью средств XSLT выполнить преобразование к такому виду:

Прошу вашей помощи, ибо самостоятельно выходит какая-то чепуха.


Ответ

Наиболее просто это делается вот так:

Просто создаем элемент args с нужным списком атрибутов.
Если же по какой-то причине этот вариант не устраивает и требуется трансформация каждого поля в отдельности - нет никаких проблем. Единственное - нужно запретить обработку текстовых узлов внутри элемента args, иначе после их вывода атрибут добавить уже не получится:



Для заранее неизвестного количества полей можно сделать вот так:

Если же у элемента args должны быть еще и обычные дети - придется исхитряться:




Здесь обработка элемента args идет в два прохода. В первый проход собираются все атрибуты, во второй проход - все остальные дочерние узлы.

Комментариев нет:

Отправить комментарий