Java: добавить элементы к определенному элементу в xml - PullRequest
0 голосов
/ 11 марта 2020

Мне нужно добавить список элементов следующим образом. Предположим, что элемент A является элементом root документа.

<A>
    <B>
        <C>
            <D/>
            <E/>
            <F/>
            <F/>

            <!-- the number of existing element F is dynamic -->
            <!-- add n elements F here after the last existing element F and before element G 
-->

            <G/>
            <H/>
        </C>
    </B>

</A>

Сначала возникает проблема с xpath. Я указал элемент G с помощью xpath, но не уверен, что xpath верен, потому что возвращаемый список всегда пуст. Я пробовал много других простых xpaths, но следующая функция никогда не возвращает непустой список. В настоящее время я использую dom4j

//element G
List<Node> targetNodeToPrepend = document.selectNodes("/A/B/C/G");

. Фактический документ xml был на самом деле гораздо более сложным и длинным с множеством уровней вложенности элементов (19) и соответствовал схеме xml, предоставленной клиентом. Я не уверен, является ли сложность содержимого причиной сбоя xpath.

Во-вторых, как добавить список элемента F в предполагаемую позицию, которая находится между последним элементом F и элементом G? Любой пример кода приветствуется.

Кроме dom4j, любое решение, использующее jaxb, org.w3 c .dom, также поможет.

PS Извините, я не могу вставить код, который я тестировал здесь по соображениям безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...