[JavaWeb基础] 031.dom4j写入xml的方法
上一篇我们讲述了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", "za@163.com", 50, 19, true);
s[1] = new Student("002", "zb", "zb@163.com", 51, 20, true);
s[2] = new Student("003", "zc", "zc@163.com", 52, 21, true);
s[3] = new Student("004", "zd", "zd@163.com", 53, 22, true);
s[4] = new Student("005", "ze", "ze@163.com", 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
[JavaWeb基础] 031.dom4j写入xml的方法的更多相关文章
- [JavaWeb基础] 030.dom4j读取xml的4种方法
通常我们在项目开发的过程中经常要操作到xml文件,在JAVA这边,我们会很自然的联想到Dom4J这个apache的开源插件,那么我们使用Dom4J如何来读取xml文件呢?下面我们来看看以下4种方法 1 ...
- java基础73 dom4j修改xml里面的内容(网页知识)
1.DOM4J对XML文件进行增删改操作 实现代码 package com.shore.code; import java.io.File; import java.io.FileOutputStre ...
- SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除
/*------------------------------------------------------------------------------+ #| = : = : = : = : ...
- 转载---SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除
/*------------------------------------------------------------------------------+ #| = : = : = : = : ...
- java dom4j写入XML
引用的两个jar包 dom4j-1.6.1.jar jaxen.jar //=========================代码 import java.io.FileWriter;import j ...
- 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 ...
- 【XML】利用Dom4j读取XML文档以及写入XML文档
Dom4j简介 dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能 ...
- JavaWeb基础—XML学习小结
一.概述 是什么? 指可扩展标记语言 能干什么? 传输和存储数据 怎么干? 需要自行定义标签. XML 独立于硬件.软件以及应用程序 通常.建立完xml文件后首要的任务是:引入约束文件! 二.XML简 ...
- asp.net写入读取xml的方法
添加命名空间 using System.Xml; 我自己的代码(添加其中的节点) XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(Server.M ...
随机推荐
- Jenkins 介绍
持续集成: 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证 ...
- django源码分析——静态文件staticfiles中间件
本文环境python3.5.2,django1.10.x系列 1.在上一篇文章中已经分析过handler的处理过程,其中load_middleware就是将配置的中间件进行初始化,然后调用相应的设置方 ...
- django最全面的知识点,直接开发完整手机购物商城练手,
带手机验证码登陆, 带全套购物车系统 带数据库 前后端分离开发 带定位用户功能 数据库代码为本地制作好了 带支付宝支付系统 带django开发服务器接口教程 地址: https://www.duans ...
- A Simple Problem with Integers 循环节 修改 平方 找规律 线段树
A Simple Problem with Integers 这个题目首先要打表找规律,这个对2018取模最后都会进入一个循环节,这个循环节的打表要用到龟兔赛跑. 龟兔赛跑算法 floyed判环算法 ...
- java使用window builder图形界面开发简易计算器
界面效果: /** * */ package calculator; import java.awt.BorderLayout; import java.awt.EventQueue; import ...
- 【Hadoop离线基础总结】MapReduce入门
MapReduce入门 Mapreduce思想 概述 MapReduce的思想核心是分而治之,适用于大量复杂的任务处理场景(大规模数据处理场景). 最主要的特点就是把一个大的问题,划分成很多小的子问题 ...
- python语法学习第十一天--迭代器
迭代:类似循环,这一次的值作为下一次迭代的开始值 BIF:iter():将某个可以作为迭代器的容器变为迭代器 next():做下一次迭代 当next()到最后一个时,抛出StopIteration ...
- [csu/coj 1083]贪心
题意:给定n个线段,问能不能把x,y,z个长度为1,2,3的线段不重合地放进去. 思路:首先如果n个线段长度比要放的长度之和小,则无解,否则先考虑放2和3,如果2和3放下了1肯定可以放下(这是显然的) ...
- git版本控制系统小白教程(下)
前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享,查看上部请点传送门. 删除文件 git删除文件一般有三种情况,第一种是在工作区修改了文件,但是 ...
- Mysql 常用函数(4)- case 函数
Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html case 的作用 if 的高级版,类似Java 里 ...