如何从xml java中删除元素



我正试图从xml中删除某个estrofe元素,但如果它没有子元素,我该如何删除它,因为唯一的删除函数是removeChild((。谢谢你的帮助。

public boolean remove(short numEstrofe) {
//System.out.println("Falta implementar!");
NodeList list = D.getElementsByTagName("estrofe");
for (int i = 0; i < list.getLength(); i++) {
if (i == numEstrofe) {
Element estrofe = (Element) list.item(i);

D.removeChild(estrofe);
return true;
}
}
return false;
}~

这是xml

<poema>
<autor>Luís de Camões</autor>
<título>Mudam-se os tempos, mudam-se as vontades</título>
<estrofe>
<verso>Mudam-se os tempos, mudam-se as vontades,</verso>
<verso>Muda-se o ser, muda-se a confiança;</verso>
<verso>Todo o mundo é composto de mudança,</verso>
<verso>Tomando sempre novas qualidades.</verso>
</estrofe>
<estrofe>
<verso>Continuamente vemos novidades,</verso>
<verso>Diferentes em tudo da esperança;</verso>
<verso>Do mal ficam as mágoas na lembrança,</verso>
<verso>E do bem, se algum houve, as saudades.</verso>
</estrofe>
<estrofe>
<verso>O tempo cobre o chão de verde manto,</verso>
<verso>Que já coberto foi de neve fria,</verso>
<verso>E em mim converte em choro o doce canto.</verso>
</estrofe>
<estrofe>
<verso>E, afora este mudar-se cada dia,</verso>
<verso>Outra mudança faz de mor espanto:</verso>
<verso>Que não se muda já como soía.</verso>
</estrofe>
</poema>

差不多到了。不要从临时节点列表中删除该元素,而是将其从其父元素中删除。

Element estrofe = (Element) list.item(i);
estrofe.getParent().removeChild(estrofe);

最新更新