【发布时间】:2009-12-01 04:15:07
【问题描述】:
<root>
<elm id="1"/>
<elm id="2"/>
<elm id="3"/>
<elm id="4"/>
</root>
我想将 id="2" 留在 dom 中,
domj4 如何删除其他三个?
结果:
<root>
<elm id="2"/>
</root>
【问题讨论】:
标签: java xml dom4j removechild
<root>
<elm id="1"/>
<elm id="2"/>
<elm id="3"/>
<elm id="4"/>
</root>
我想将 id="2" 留在 dom 中,
domj4 如何删除其他三个?
结果:
<root>
<elm id="2"/>
</root>
【问题讨论】:
标签: java xml dom4j removechild
到目前为止,您做了什么?好吧,我会从头开始。
尝试使用DocumentHelper.parseText(xmlStr)获取Document
然后使用Document.getRootElement()获取文档的根元素
获取根元素后,可以使用Element.getElements()或其变体循环遍历所有子元素,并使用Element.getAttributes()或其变体检查每个元素的属性。
在确定所有三个元素后,这不是必需的。您可以使用detach() 方法从文档中删除它们。例如elm1.detach()、elm2.detach() 和elm4.detach()。最好还是列出要删除的那些元素,然后循环使用detach()。
干杯。
注意:如果元素不是直接子元素,则 Document.remove(Element elem) 方法将不起作用。有关更多信息,请参阅docs。
【讨论】: