dom4j解析XML实例
2016-03-03 18:09
288 查看
其中要导入的包为
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
<span style="white-space:pre"> </span>/** * 实现添加用户信息到数据库(XML)中 */ public void add(User user) { /** * dom4j来解析XML * 其中该user.xml格式为 * <users> * <user username="张三" password="123"/> <span style="white-space:pre"> </span> * <user username="王五" password="333"/> * </users> */ SAXReader reader = new SAXReader(); try { String path = "user.xml"; Document doc = reader.read(path); // 得到根元素 Element root = doc.getRootElement(); // 通过根元素创建新元素,addElement表示已经附属于root了,就不用root.add(ele)这句话了 Element ele = root.addElement("user"); // 添加属性 ele.addAttribute("username", user.getUsername()); ele.addAttribute("password", user.getPassword()); /** * 回写文档,这一块格外重要 */ // 创建格式化输出器 /** * 首先我们要知道,不带true参数的输出流构造都是重写 * new FileOutputStream(path):这是重写 * new FileOutputStream(path,true)这是往后添加 * 这里‘输出化格式器’的意思就是 * 1.要处理的内容一开始必须清空所有换行和缩进,形成所有内容在一行的形式 * 2.再把要处理的内容按照制表符上下层标签递进,并且上下层要换行 */ OutputFormat format = new OutputFormat("\t", true);// 用制表符分割,标签之间需要换行 format.setTrimText(true);// 清空原有换行和缩进 // 创建XMLWriter XMLWriter writer; try { /** * 解释一下:本来是可以用FileWriter这个类的即 * writer = new XMLWriter(new FileWriter(path), "UTF-8"), format); * 但是因为FileWriter这个类设计时没有给予处理编码的方法 * 所以只有用OutputStreamWriter来设置编码了 * */ writer = new XMLWriter(new OutputStreamWriter( new FileOutputStream(path), "UTF-8"), format); writer.write(doc); writer.close(); } catch (Exception e1) { // TODO Auto-generated catch block throw new RuntimeException(); } } catch (DocumentException e) { // TODO Auto-generated catch block throw new RuntimeException(); } }
相关文章推荐
- 设置openwrt应用程序开机和崩溃时自动启动
- 开发中SVN使用规范
- Android常见开源框架总结
- JFinal学习--03Interceptor
- CLH锁与MCS锁的比较
- XNA4.0 RPG游戏开发教程(三)
- Android逆向分析(一) - 反编译看看手Q口令红包的实现原理
- 51nod--Huffman编码
- iOS开发:正确使用const,static,extern
- android 系统笔记(1)
- Android代码混淆
- Facebook工程师是如何改进他们Android客户端的
- spring mvc前端验证代码生成器
- 三帧差法
- vmware的centos7下搭建lnmp环境(新手)
- GCC代码移植到Keil遇到的问题
- Scaling CloudFlare’s Massive WAF
- 关于隔离
- 计算机网络——5.路由协议
- ios 单张图片上传(从相册或者相机)