Полезная нагрузка XML-ответа, как показано ниже
<root>
<_1>
<expand>description,lead,url,projectKeys</expand>
<name>ABC</name>
<id>12631</id>
</_1>
<_2>
<expand>description,lead,url,projectKeys</expand>
<name>XYZ</name>
<id>12632</id>
</_2>
<_3>
<expand>description,lead,url,projectKeys</expand>
<name>JKL</name>
<id>12634</id>
</_3>
</root>
Здесь <_1>, <_ 2>, <_ 3> могут последовательно увеличиваться в зависимости от общего количества записей XML.
Мои требования - написать XQuery
Чтобы определить общее количество значений в узлах Элемента (например, для: - 50 т. Е. Последний узел <_50>)
Итерация по всем узлам элемента до 50 (например) и извлечение соответствующих дочерних узлов (например: раскрытие, имя, идентификатор)
У меня была похожая полезная нагрузка XML-ответа, где вместо последовательного увеличения значений узлов элемента (<_1>, <_ 2>, <_ 3>) он имеет фиксированное имя (записи) для всех узлов элемента. (Пример ниже), и я написал XQuery для извлечения значений из его дочерних узлов (см. Ниже).
<root>
<entries>
<added>1534815831000</added>
<updated>1534815831000</updated>
</entries>
<entries>
<added>1534815832000</added>
<updated>1534815832000</updated>
</entries>
</root>
XQuery был
let $entries := /root/entries
return
for $entry in $entries
return
<entries>
{
<added>{data($entry/added)}</added>,
<updated>{data($entry/updated)}</updated>
}
</entries>
Проблемы
a) Когда имя узла элемента изменяется с каждой записью
b) Итерация по всем элементам
Любые ценные предложения приветствуются.
Спасибо