удалить элемент в dom4j - PullRequest
       15

удалить элемент в dom4j

0 голосов
/ 01 декабря 2009
<root>
 <elm id="1"/>
 <elm id="2"/>
 <elm id="3"/>
 <elm id="4"/>
</root>

Я хочу оставить id = "2" в DOM,
как может domj4 убрать остальные три?

результат:

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

1 Ответ

5 голосов
/ 01 декабря 2009

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

  • Попробуйте получить Document, используя DocumentHelper.parseText(xmlStr)

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

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

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

Приветствие.

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

...