xml:
<?xml version="1.0" encoding="UTF-8"?>
<App-Config>
<save-dbs>
<db>
<host>localhost</host>
<user>ff</user>
<port>5432</port>
<ssl>false</ssl>
</db>
<db>
<host>xyz</host>
<user>fff</user>
<port>5432</port>
<ssl>true</ssl>
</db>
</save-dbs>
</App-Config>
-----------------------------------------------
java:root.getChild("save-dbs").getChildren().remove(0);
-------------------------------------------------------
运行了之后xml中数据还是没有remove掉,应该怎么删除xml信息呢?

解决方案 »

  1.   

    你当前做的只是在内存中删除Node,而没有保存。JDOM提供XMLOutputter类来保存xml。import org.jdom.output.XMLOutputter;
    import java.io.*;...
    BufferedOutputStream out =
    new BufferedOutputStream(
    new FileOutputStream("03.xml")); // 你的文件名。XMLOutputter outputer = 
    new XMLOutputter();outputer.output(root, out);
      

  2.   

    谢谢,我删除了,但是删除之后出现空行怎么办?
    ------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <App-Config>
    <save-dbs>


    </save-dbs>
    </App-Config>
      

  3.   

    SAXBuilder sb = new SAXBuilder();//建立文档
    Document doc = sb.build(fi);
    Element root = doc.getRootElement(); //得到根元素
    List books = root.getChildren(); //得到根元素所有子元素的集合
    int id;//你要删除的元素标识
    books.remove(id);这样就可以了,我用过。
      

  4.   


    XMLOutputter outputer = 
    new XMLOutputter();改为:
    XMLOutputter outputer = 
        new XMLOutputter(org.jdom.output.Format.getPrettyFormat());