Удалить дубликаты в объекте org.dom4j.Document

Можно ли как-то отфильтровать все повторяющиеся элементы на одном уровне в объекте org.dom4j.Document в Java?

Например

<parent>
    <child><value>1</value></child>
    <child><value>1</value></child>
    <child><value>3</value></child>
</parent>

должно привести к

<parent>
    <child><value>1</value></child>
    <child><value>3</value></child>
</parent>

Есть ли уже встроенный функционал для этого? Или, может быть, библиотеку, которую можно было бы использовать?


person Bernhard    schedule 18.09.2014    source источник
comment
Вы смотрели на метод Node.selectElements? Существует необязательный флаг removeDuplicates. Возможно, это поможет: akmishra30.blogspot.co .at/2014/01/ Но если вы хотите напрямую манипулировать структурой документа, а не работать со списками, боюсь, вам придется написать собственную реализацию.   -  person JanM    schedule 18.09.2014


Ответы (1)


Нет функционала для этого.

Интерфейс org.w3c.dom.Node предоставляет пример кода метода removeChild.

xmlDoc=loadXMLDoc("books.xml");

y=xmlDoc.getElementsByTagName("book")[0];

xmlDoc.documentElement.removeChild(y)

Или используйте XSLT

- Documentation : http://docs.oracle.com/cd/B19306_01/appdev.102/b14252/adx_j_xslt.htm
- Example : http://stackoverflow.com/a/10914512/4017037
person stacky    schedule 18.09.2014