繁体   English   中英

如何从 xml java 中删除元素

[英]How to remove element from xml java

我正在尝试从 xml 中删除某个 estrofe 元素,但是如果它没有子元素,我该如何删除它,因为唯一删除 function 是 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM