JDOM下载地址http://www.jdom.org/downloads/index.html
本文使用了JDOM的一些简单功能创建了一个标准的XML文件,如果需要对创建的XML有详细的格式要求,请参照API文档作相应设置
使用JDOM构建xml
//父节点 Element head = new Element("head"); root.setAttribute("root", "this is root");//设置属性 //子节点,用来显示文件 Element fileElement = new Element("file"); fileElement.setText("c:/a.txt"); head.addContent(fileElement); //子节点 Element testElement = new Element("test"); testElement.addContent(new Element("testInner").setText("test")); head.addContent(testElement); Document doc = new Document(); //加入处理指令 Map<String, String> map = new HashMap<String, String>(); map.put("type","text/xsl"); map.put("href","products.xsl"); ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet",map);//处理指令 doc.addContent(pi); //设置doctype DocType type = new DocType("struts"); type.setPublicID("-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"); type.setSystemID("http://struts.apache.org/dtds/struts-2.0.dtd"); //必须先doctype加入到document中之后才能再加入根节点 doc.addContent(type); doc.setRootElement(head); Format format = Format.getCompactFormat(); format.setEncoding("utf-8"); format.setIndent(" ");//设置缩进 XMLOutputter out = new XMLOutputter(format); System.out.println(out.outputString(doc)); out.output(doc, new FileOutputStream(new File("d:/a.xml")));
最后输出的结果是:
<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="products.xsl"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <root root="this is root"> <file>c:/a.txt</file> <test> <testInner>test</testInner> </test> </root>