spllot
2009-10-26 14:29
浏览 254
已采纳

使用dom4j向XML文件增加节点问题

比如XML内容如下:






那么如何使用dom4j在id为"1"的节点后增加一个节点呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • star00123 2009-10-26 23:51
    已采纳

    测试在xml节点后增加一个节点
    [code="java"]
    import java.util.*;
    import org.dom4j.*;

    public class testxml {

    public static void main(String[] args) {
        String xml = 
            " <file>                                " + 
            "     <chapter id=\"1\" name=\"a\"/>    " +
            "     <chapter id=\"2\" name=\"b\"/>    " +
            "     <chapter id=\"3\" name=\"c\"/>    " +
            "     <chapter id=\"4\" name=\"d\"/>    " +
            "  </file> "                            ;
        try {
            //生产doc文档
            Document doc = DocumentHelper.parseText(xml);
            //得到根节点
            Element root = doc.getRootElement();
            //得到根节点下的chapter节点
            List elements = root.elements("chapter");
            //遍历chapter节点
            Iterator iterator = elements.iterator();        
            while(iterator.hasNext()){
                Element e = (Element)iterator.next();
                String id = e.attributeValue("id");
                //如果id==1 则添加新的节点
                if("1".equals(id) || "1" == id){
                    //新添加的节点
                    Element enew = e.addElement("chapterNew");
                    //添加属性和值
                    enew.addAttribute("id", "1.1");
                    enew.addAttribute("name", "a.1");
                }
            }
            //打印
            System.out.println(doc.asXML());
        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }
    

    }

    [/code]

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题