您的位置:首页 > 编程语言 > Java开发

使用Dom4j合并多个xml文件

2017-07-20 21:24 344 查看
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";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java xml dom