<root>
<elm id="1"/>
<elm id="2"/>
<elm id="3"/>
<elm id="4"/>
</root>
Я хочу оставить ID = «2» в йот,
как можно domj4 удалить остальные три?удалить элемент в dom4j
результат:
<root>
<elm id="2"/>
</root>
<root>
<elm id="1"/>
<elm id="2"/>
<elm id="3"/>
<elm id="4"/>
</root>
Я хочу оставить ID = «2» в йот,
как можно domj4 удалить остальные три?удалить элемент в dom4j
результат:
<root>
<elm id="2"/>
</root>
Что вы сделали до сих пор? Ну, я бы пошел с нуля.
Try, чтобы получить Document
с помощью DocumentHelper.parseText(xmlStr)
Затем получить корневой элемент документа с использованием Document.getRootElement()
После получения корневого элемента, вы можете перебрать все дочерние элементы с помощью элемента. getElements() или его варианты, и проверьте атрибуты каждого элемента с помощью Element.getAttributes()
или его вариантов.
После определения всех трех элементов, которые не требуются. Вы можете использовать метод detach()
, чтобы удалить те из документа. Например, elm1.detach()
, elm2.detach()
и elm4.detach()
. Еще лучше сделайте список тех элементов, которые вы хотите удалить, а затем detach()
в цикле.
Cheers.
ПРИМЕЧАНИЕ. Метод Document.remove (Element elem) не будет работать, если элемент не является непосредственным дочерним. Для получения дополнительной информации см. docs.