上一篇我们讲述了dom4j读取xml的4种方法,甚是精彩,那么怎么样写入xml呢?我们直接看下源码实现。
public static void main(String[] args) throws Exception { // 创建文档 Document document = DocumentHelper.createDocument(); // 设置编码 document.setXMLEncoding("GBK"); // 创建根节点 Element root = document.addElement("students"); // 创建xmlns xml namespace root.addNamespace("", "http://www.abc.com/ns/test"); root.addNamespace("t", "http://www.abc.com/ns/test"); root.addNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); // 创建属性 root.addAttribute("xsi:schemaLocation", "http://www.abc.com/ns/test student.xsd"); // 创建对象数组 Student[] s = new Student[5]; // 创建对象 s[0] = new Student("001", "za", "[email protected]", 50, 19, true); s[1] = new Student("002", "zb", "[email protected]", 51, 20, true); s[2] = new Student("003", "zc", "[email protected]", 52, 21, true); s[3] = new Student("004", "zd", "[email protected]", 53, 22, true); s[4] = new Student("005", "ze", "[email protected]", 54, 23, true); // 写入对象 for (int i = 0; i < s.length; i++) { Student stu = s[i]; // 创建根节点 Element e1 = root.addElement("student", "http://www.abc.com/ns/test"); // 添加子元素 e1.addElement("id").addText(stu.getId()); e1.addElement("name").addText(stu.getName()); e1.addElement("email").addText(stu.getEmail()); e1.addElement("gender").addText(stu.getGender() ? "男" : "女"); e1.addElement("age").addText("" + stu.getAge()); e1.addElement("java").addText("" + stu.getJava()); } // 创建输出流 FileOutputStream fos = new FileOutputStream("student.xml"); // 设置编码 OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK"); OutputFormat of = new OutputFormat(); of.setEncoding("GBK"); of.setIndent(true); of.setIndent(" "); of.setNewlines(true); // 写入文件 XMLWriter writer = new XMLWriter(osw, of); writer.write(document); writer.close(); }
以上代码言简意赅。大家可以自己写写调试下。
本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】原文链接: http://www.cnblogs.com/superdo/p/5140399.html
时间: 2024-10-15 02:02:39