С учетом модели данных
<outerTag>
<tagA>
</tagB>
</tagA>
<tagC>
<interestingContent>
...
</interestingContent>
</tagC>
</outerTag>
Я хочу переместить дочерние узлы <interestingContent>
в <tagB>
. Я не знаю возможного содержимого узлов для перемещения, они также могут иметь детей. В настоящее время я работаю с GPath и думал, что что-то простое, как это должно работать:
outertag.tagC.childNodes().each { node ->
outerTag.tagA.tagB.appendNode(node)
}
Но хотя я могу читать имена и тексты с узлов, appendNode
, похоже, не справляется. Хотя я теоретически мог читать атрибуты, текст и имя из дочерних элементов, использовать его для создания нового узла и добавлять этот узел, я чувствую, что это ненужно завершено, особенно потому, что это должна быть рекурсивная функция, поскольку узлы могут иметь Сам по себе ребенок.