使用JDOM读写xml(1)

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>

猜你喜欢

转载自tiame.iteye.com/blog/1420860