使用dom4j工具包实现对xml文件的增删改查和乱码问题的处理
来源:互联网 发布:网络中央电视台 编辑:程序博客网 时间:2024/06/06 07:29
使用dom4j工具包实现对xml文件的增删改查,xml文件为:
<?xml version="1.0" encoding="gb2312"?><书架> <书> <书名 name="the daught of sea">海的女儿</书名> <作者>安徒生</作者> <售价>50.0元</售价> </书> <书> <书名>卖火柴的小女孩</书名> <作者>安徒生</作者> <售价>28.0元</售价> </书> </书架>
实现代码为:
package com.java.dom;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import org.junit.Test;public class DomParse {@Testpublic void find() throws DocumentException {//创建读取器SAXReader reader = new SAXReader();//将读取的结果放在document中Document doc = reader.read(new File("src/books.xml"));//得到根节点Element root = doc.getRootElement();Element book = (Element) root.elements("书").get(0);String value = book.element("书名").attributeValue("name");System.out.println(value);} @Testpublic void add() throws DocumentException, IOException {SAXReader reader = new SAXReader();Document doc = reader.read(new File("src/books.xml"));Element root = doc.getRootElement();Element book = (Element) root.elements("书").get(0);book.addElement("售价").setText("39.0元");//创建一个漂亮的输出器OutputFormat format = OutputFormat.createPrettyPrint();//设置输出器的码表format.setEncoding("gb2312");XMLWriter writer = new XMLWriter(new FileOutputStream("src/books.xml"),format);//将更改的xml文件写回writer.write(doc);} @Testpublic void delete() throws DocumentException, IOException {SAXReader reader = new SAXReader();Document doc = reader.read(new File("src/books.xml"));Element root = doc.getRootElement();Element book = (Element) root.elements("书").get(1);Element price = (Element) book.elements("售价").get(0);book.remove(price);OutputFormat format = OutputFormat.createPrettyPrint();format.setEncoding("gb2312");XMLWriter writer = new XMLWriter(new FileOutputStream("src/books.xml"),format);writer.write(doc);} @Testpublic void modify() throws DocumentException, IOException {SAXReader reader = new SAXReader();Document doc = reader.read(new File("src/books.xml"));Element root = doc.getRootElement();Element book = (Element) root.elements("书").get(0);Element price = (Element) book.elements("作者").get(0);price.setText("Hello");OutputFormat format = OutputFormat.createPrettyPrint();format.setEncoding("gb2312");XMLWriter writer = new XMLWriter(new FileOutputStream("src/books.xml"),format);writer.write(doc); }}
运行结果为:
<?xml version="1.0" encoding="gb2312"?><书架> <书> <书名 name="the daught of sea">海的女儿</书名> <作者>Hello</作者> <售价>50.0元</售价> <售价>39.0元</售价> </书> <书> <书名>卖火柴的小女孩</书名> <作者>安徒生</作者> </书> </书架>
乱码问题通过OutputFormat类来解决,根据xml文件中使用的码表,设置输出器的码表,而且XM4LWrite中的参数第一个为字节输出,也可使用可更改码表的字符输出。
- 使用dom4j工具包实现对xml文件的增删改查和乱码问题的处理
- 总结使用dom4j和xpath对xml文件的增删改查
- 使用dom4j对XML文件进行增删改查
- DOM4J的使用(DOM4J对XML的解析即增删改查)
- Dom4j对XML文档的增删改查操作
- Dom4j对xml增删改查的实例详解
- xml文档解析之dom4j的增删改查 ,乱码问题
- 使用Dom4j对XML进行增删改查
- Dom4j的增删改查简单使用
- 关于dom4j对xml文件实现增删改创的操作
- Dom4j 对XML增删改查
- java 使用DOM4J对XML文件进行增删改查操作
- DOM4J 实现对XML文档的增、删、改、查
- 使用dom4j操作xml实现增删改查
- Linq对XML文件的增删改查
- Java对XML文件的增删改查
- 对xml增删改查操作的实现
- [VB.NET]对xml表的增删改查实现
- mvn 环境配置 及常用命令
- 指针高级例题
- CListCtrl使用技巧(转)
- java 网络编程【6】 用UDP编写网络聊天程序 以及 TCP编程实例
- wordpress的LAMP环境搭建
- 使用dom4j工具包实现对xml文件的增删改查和乱码问题的处理
- Spring + iBATIS完整示例
- 获取JavaScript自定义对象的所有属性和值
- cd /d %~dp0是什么意思啊?
- js 复制到剪贴板 火狐
- 《第十二周实验报告任务1》
- 艺术节
- object-c
- java图片大小处理(缩放&切割&类型转换&色彩转换)