与其他可用的XML处理API相比,对我来说,
使用DOMBuilder和SAXBuilder JDOM的用户更适合:
>修改XML文档
> XML树遍历和对任何部分的随机访问
>合并文件
这是合并两个XML文档的完整工作示例:
SAXBuilder builder = new SAXBuilder();
Document doc1 = builder.build(new File("E:\XML1.xml"));
Document doc2 = builder.build(new File("E:\XML2.xml"));
String rootName = doc1.getRootElement().getName();
Element newRoot = new Element(rootName);
Document newDoc = new Document(newRoot);
Element root1 = doc1.getRootElement();
Element root2 = doc2.getRootElement();
// creating declaraion element by merging the declaration content
Element declaration = new Element("declaration");
declaration.addContent(root1.getChildText("declaration"));
declaration.addContent(root2.getChildText("declaration"));
newRoot.addContent(declaration); // add declaration element to new document
newRoot.addContent(root1.getChild("template").clone());
// directly adding template from document XML1,
//after getting template child,
//it needs to be cloned to detached from its parent
newRoot.addContent(root2.getChild("template").clone());
// same for document XML2
/*** now code yourself for system element here ***/
XMLOutputter outputter = new XMLOutputter();
outputter.output(newDoc, System.out);
// output the new doc, pass your OutputStream to this function