2009-12-01 2 views
0
<root> 
<elm id="1"/> 
<elm id="2"/> 
<elm id="3"/> 
<elm id="4"/> 
</root> 

Я хочу оставить ID = «2» в йот,
как можно domj4 удалить остальные три?удалить элемент в dom4j

результат:

<root> 
<elm id="2"/> 
</root> 

ответ

4

Что вы сделали до сих пор? Ну, я бы пошел с нуля.

  • Try, чтобы получить Document с помощью DocumentHelper.parseText(xmlStr)

  • Затем получить корневой элемент документа с использованием Document.getRootElement()

  • После получения корневого элемента, вы можете перебрать все дочерние элементы с помощью элемента. getElements() или его варианты, и проверьте атрибуты каждого элемента с помощью Element.getAttributes() или его вариантов.

  • После определения всех трех элементов, которые не требуются. Вы можете использовать метод detach(), чтобы удалить те из документа. Например, elm1.detach(), elm2.detach() и elm4.detach(). Еще лучше сделайте список тех элементов, которые вы хотите удалить, а затем detach() в цикле.

Cheers.

ПРИМЕЧАНИЕ. Метод Document.remove (Element elem) не будет работать, если элемент не является непосредственным дочерним. Для получения дополнительной информации см. docs.

Смежные вопросы