使用Dom4j合并多个xml文件

来源:互联网 发布:php死循环怎么办 编辑:程序博客网 时间:2024/05/18 03:10

JAVA代码

import org.codehaus.jettison.json.JSONArray;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;SAXReader saxReader = new SAXReader();          Document a = saxReader.read(new File("g:\\taskChain.xml"));          Document b = saxReader.read(new File("g:\\taskChain2.xml"));          List<Element> elements = b.getDocument().getRootElement().elements();//获得根节点下的节点信息          Element parent = (Element) a.getRootElement();//获得第一个xml的根节点          for (Element element : elements) {              parent.add(element.detach());//将b下的节点添加到a的根节点下          }          System.out.println(a.asXML());  

下面是我工作中的一段代码,贴出来是给自己看的:

            List<String>   res = new ArrayList<String>();            System.out.println("方法1:"+this.getHttpSession().getAttribute("routeresuls"));            res = (List) this.getHttpSession().getAttribute("routeresuls");            Document a = DocumentHelper.parseText(res.get(0));            Element parent = (Element) a.getRootElement();//获得第一个xml的根节点              if(res.size()>1){//如果长度大于1,就合并,不然直接转xml             for(int i=1;i<res.size();i++){                 Document b = DocumentHelper.parseText(res.get(i));                 List<Element> elements = b.getDocument().getRootElement().elements();                for (Element element : elements) {                      parent.add(element.detach());//将b下的节点添加到a的根节点下                  }              }             result2 = a.asXML();            }else{             result2 = a.asXML();            }            this.getHttpServletRequest().setAttribute("results2",result2);            return "success1";