上一篇我们讲述了dom4j读取xml的4种方法,甚是精彩,那么怎么样写入xml呢?我们直接看下源码实现。

  1. public static void main(String[] args) throws Exception {
  2. // 创建文档
  3. Document document = DocumentHelper.createDocument();
  4. // 设置编码
  5. document.setXMLEncoding("GBK");
  6. // 创建根节点
  7. Element root = document.addElement("students");
  8. // 创建xmlns xml namespace
  9. root.addNamespace("", "http://www.abc.com/ns/test");
  10. root.addNamespace("t", "http://www.abc.com/ns/test");
  11. root.addNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
  12. // 创建属性
  13. root.addAttribute("xsi:schemaLocation",
  14. "http://www.abc.com/ns/test student.xsd");
  15. // 创建对象数组
  16. Student[] s = new Student[5];
  17. // 创建对象
  18. s[0] = new Student("001", "za", "za@163.com", 50, 19, true);
  19. s[1] = new Student("002", "zb", "zb@163.com", 51, 20, true);
  20. s[2] = new Student("003", "zc", "zc@163.com", 52, 21, true);
  21. s[3] = new Student("004", "zd", "zd@163.com", 53, 22, true);
  22. s[4] = new Student("005", "ze", "ze@163.com", 54, 23, true);
  23. // 写入对象
  24. for (int i = 0; i < s.length; i++) {
  25. Student stu = s[i];
  26. // 创建根节点
  27. Element e1 = root.addElement("student",
  28. "http://www.abc.com/ns/test");
  29.  
  30. // 添加子元素
  31. e1.addElement("id").addText(stu.getId());
  32. e1.addElement("name").addText(stu.getName());
  33. e1.addElement("email").addText(stu.getEmail());
  34. e1.addElement("gender").addText(stu.getGender() ? "男" : "女");
  35. e1.addElement("age").addText("" + stu.getAge());
  36. e1.addElement("java").addText("" + stu.getJava());
  37. }
  38. // 创建输出流
  39. FileOutputStream fos = new FileOutputStream("student.xml");
  40. // 设置编码
  41. OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK");
  42. OutputFormat of = new OutputFormat();
  43. of.setEncoding("GBK");
  44. of.setIndent(true);
  45. of.setIndent(" ");
  46. of.setNewlines(true);
  47. // 写入文件
  48. XMLWriter writer = new XMLWriter(osw, of);
  49. writer.write(document);
  50. writer.close();
  51. }

以上代码言简意赅。大家可以自己写写调试下。

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)

转载自【宝宝巴士SuperDo团队】原文链接: http://www.cnblogs.com/superdo/p/5140399.html

[JavaWeb基础] 031.dom4j写入xml的方法的更多相关文章

  1. [JavaWeb基础] 030.dom4j读取xml的4种方法

    通常我们在项目开发的过程中经常要操作到xml文件,在JAVA这边,我们会很自然的联想到Dom4J这个apache的开源插件,那么我们使用Dom4J如何来读取xml文件呢?下面我们来看看以下4种方法 1 ...

  2. java基础73 dom4j修改xml里面的内容(网页知识)

    1.DOM4J对XML文件进行增删改操作 实现代码 package com.shore.code; import java.io.File; import java.io.FileOutputStre ...

  3. SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除

    /*------------------------------------------------------------------------------+ #| = : = : = : = : ...

  4. 转载---SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除

    /*------------------------------------------------------------------------------+ #| = : = : = : = : ...

  5. java dom4j写入XML

    引用的两个jar包 dom4j-1.6.1.jar jaxen.jar //=========================代码 import java.io.FileWriter;import j ...

  6. org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope on: org.dom4j.tree.DefaultElement (dom4j写入XML文件,标签中带【:】(冒号)解决办法)

    用dom4j操作写XML文件,标签中含有冒号,会报 org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope o ...

  7. 【XML】利用Dom4j读取XML文档以及写入XML文档

    Dom4j简介 dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能 ...

  8. JavaWeb基础—XML学习小结

    一.概述 是什么? 指可扩展标记语言 能干什么? 传输和存储数据 怎么干? 需要自行定义标签. XML 独立于硬件.软件以及应用程序 通常.建立完xml文件后首要的任务是:引入约束文件! 二.XML简 ...

  9. asp.net写入读取xml的方法

    添加命名空间 using System.Xml; 我自己的代码(添加其中的节点) XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(Server.M ...

随机推荐

  1. Entity Framework使用EntityState和Attach来保存数据变化以及更新实体的个别字段

    在使用Entity Framework作为ORM来存取数据的过程中,最常规的操作就是对数据对象的更新.本文将会包含如何Attach Entity到一个数据Context中,以及如何使用EntitySt ...

  2. RF(三层封装设计)

    一.用例分层思想 元素层:需要导入 Selenium2Library 库 包含所有的元素定位 流程层:需要导入 元素层.txt 资源 封装用例流程 案例层:需要导入 流程层.txt 资源 输出用例,传 ...

  3. Azure AD(一)入门认识

    一,引言(吹水) 距离上一次介绍Azure Functions的相关博文以及过期快一个月了,本来早早都想好已经规划好的Azure的相关的学习的路线,无奈还是由于自己文笔不好以及自身太懒,导致博文没有更 ...

  4. Java——Spring超详细总结

    Spring概述 一.简化Java开发 Spring为了降低Java开发的复杂性,采用了以下四种策略 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面和惯例进行声明 ...

  5. 06_CSS入门和高级技巧(4)

    复习 CSS : 负责样式层,层叠式样式表cascading style sheet.CSS2.1,最新版本CSS3. CSS选择器: 选择哪些元素加样式.基本选择3种:标签p.id选择器#id.cl ...

  6. JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

    工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outil ...

  7. Netty入门一:何为Netty

    先了解java的网络编程 Netty为何支持高并发 netty是基于java的nio非阻塞通信,而原始的阻塞通信无法满足高并发.下面我们通过两幅图来简要说明 BIO: 这种模式下一个线程处理一个连接, ...

  8. 【SMB源码解析系列】——002.RESET中断

    跟随代码结尾处的中断向量,我们可以看到RESET中断所在地址为Start标签处. 这部分代码比较简单,从字面便可基本理解. 1.(682~683)状态寄存器设置,sei指令用于禁用IRQ中断,SMB中 ...

  9. Linux中链接的概念

    一,软链接 touch f1 创建符号链接,两个文件inode不同 ln -s f1 f3 二,硬链接 touch f1 创建硬链接, 两个文件inode相同 ln  f1 f2 硬链接和软链接,最大 ...

  10. 手把手教系列之IIR滤波器设计

    [导读]:在嵌入式系统中经常需要采集模拟信号,采集模拟信号的信号链中难免引入干扰,那么如何滤除干扰呢?今天就来个一步一步描述如何设计部署一个IIR滤波器到你的系统. 何为IIR滤波器? 无限冲激响应( ...