Java dom4j生成XML文件
dom4j简单生成XML文件步骤
1. 创建一个文档模型
Document document = DocumentHelper.createDocument();
2. 创建元素的根节点
Element root = document.addElement("root");
3. 根节点添加元素和属性
root.addElement( "author" ).addAttribute( "name", "James" ).addAttribute( "location", "UK" ).addText( "James Strachan" );
4. 保存文件
writer.write(document); writer.close();
5. 代码
public static void main(String[] args) throws IOException { OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = new XMLWriter(new FileWriter("output.xml"), format); Document document = DocumentHelper.createDocument(); Element root = document.addElement("root"); root.addComment("This is xml comment"); root.addElement("author").addAttribute("name", "James").addAttribute("location", "UK").addText("James Strachan"); writer.write(document); writer.close(); }
生成xml文件格式如下:
<?xml version="1.0" encoding="UTF-8"?> <root> <!--This is xml comment--> <author name="James" location="UK">James Strachan</author> </root>
dom4j嵌套生成XML复杂例子
public class TestXML { public static void main(String[] args) { FileWriter out = null; try { out = new FileWriter("src/foo.xml"); //写入文件 createDocument().write(out); OutputFormat format = OutputFormat.createPrettyPrint(); //转换成字符串 format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(System.out, format); writer.write(createDocument()); } catch(IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (out != null) { try { out.close(); } catch(IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public static Document createDocument() { Document document = DocumentHelper.createDocument(); Element root = document.addElement("result"); root.addElement("code").addText("1"); Element data = root.addElement("data"); Element person1 = data.addElement("person"); person1.addElement("name").setText("张三"); person1.addElement("id").setText("1"); person1.addElement("url").setText("http://192.168.191.1:9999/TestWeb/c7fe21616d2a5e2bd1e84bd453a5b30f.jpg"); Element courses1 = person1.addElement("courses"); Element course1 = courses1.addElement("course"); course1.addElement("courseName").setText("语文"); course1.addElement("courseMarks").setText("90"); course1.addElement("courseId").setText("1"); Element course2 = courses1.addElement("course"); course2.addElement("courseName").setText("数学"); course2.addElement("courseMarks").setText("80"); course2.addElement("courseId").setText("2"); Element course3 = courses1.addElement("course"); course3.addElement("courseName").setText("英语"); course3.addElement("courseMarks").setText("70"); course3.addElement("courseId").setText("3"); Element person2 = data.addElement("person").addAttribute("name", "李四").addAttribute("id", "2").addAttribute("url", "http://192.168.191.1:9999/TestWeb/4052858c526002a712ef574ccae1948f.jpg"); person2.addElement("course").addAttribute("courseName", "语文").addAttribute("courseMarks", "91").addAttribute("courseId", "1"); person2.addElement("course").addAttribute("courseName", "数学").addAttribute("courseMarks", "82").addAttribute("courseId", "1"); person2.addElement("course").addAttribute("courseName", "英语").addAttribute("courseMarks", "73").addAttribute("courseId", "1"); return document; } }
生成xml格式如下:
<?xml version = "1.0"encoding = "UTF-8" ?> <result > <code > 1 < /code> <data> <person> <name>张三</name > <id > 1 < /id> <url>http:/ / 192.168.191.1 : 9999 / TestWeb / c7fe21616d2a5e2bd1e84bd453a5b30f.jpg < /url> <courses> <course> <courseName>语文</courseName > <courseMarks > 90 < /courseMarks> <courseId>1</courseId > </course> <course> <courseName>数学</courseName > <courseMarks > 80 < /courseMarks> <courseId>2</courseId > </course> <course> <courseName>英语</courseName > <courseMarks > 70 < /courseMarks> <courseId>3</courseId > </course> </courses > </person> <person name="李四" id="2" url="http:/ / 192.168.191.1 : 9999 / TestWeb / 4052858c526002a712ef574ccae1948f.jpg "> <course courseName="语文" courseMarks="91 " courseId="1 "/> <course courseName="数学" courseMarks="82 " courseId="1 "/> <course courseName="英语" courseMarks="73 " courseId="1 "/> </person> </data> </result>
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。