删除dom4j中的元素

cc9*_*6ai 0 java xml dom4j removechild

<root>
 <elm id="1"/>
 <elm id="2"/>
 <elm id="3"/>
 <elm id="4"/>
</root>
Run Code Online (Sandbox Code Playgroud)

我想在dom中留下id ="2",
domj4如何删除其他三个?

结果:

<root>
 <elm id="2"/>
</root>
Run Code Online (Sandbox Code Playgroud)

Ade*_*ari 5

到目前为止你做了什么?好吧,我会从头开始.

  • 尝试Document使用DocumentHelper.parseText(xmlStr)

  • 然后使用获取文档的根元素 Document.getRootElement()

  • 获取根元素后,可以使用Element.getElements()或其变体遍历所有子元素,并使用Element.getAttributes()或其变体检查每个元素的属性.

  • 确定了所有三个不需要的元素.您可以使用detach()方法从文档中删除它们.例如elm1.detach(),elm2.detach(),和elm4.detach().更好的是仍然列出那些元素,你要删除,然后detach()循环.

干杯.

注意:如果元素不是直接子元素,则Document.remove(Element elem)方法将不起作用.有关更多信息,请参阅文档.