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>