Dom4j的读写
来源:互联网 发布:淘宝商家如何删除差评 编辑:程序博客网 时间:2024/06/18 09:35
这里使用dom4j对xml的简单读写
使用jar包:dom4j、xml-apis
当前先通过写入的方式简单了解dom4j
import java.io.FileOutputStream;import java.io.IOException;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;public class DomWrite {public static void main(String[] args) throws IOException {//创建根节点/创建节点使之变成跟节点Element root = DocumentHelper.createElement("students");Document documte = DocumentHelper.createDocument(root);//创建根节点//创建第一层子节点并设置属性Element element1 = root.addElement("student");element1.addAttribute("num", "001").addAttribute("class", "c1");//设置学号,班级//创建第二层节点element1.addElement("学号").addText("001");element1.addElement("班级").addText("c1");element1.addElement("姓名").addText("黎明");element1.addElement("性别").addText("男");element1.addElement("年龄").addText("13");String path = "test.xml";OutputFormat format = OutputFormat.createPrettyPrint();//整齐的排版//OutputFormat.createCompactFormat();//紧凑的排版format.setEncoding("utf8");XMLWriter writer = new XMLWriter(new FileOutputStream(path), format);writer.write(documte);//写入文件writer.close();}}
生成的文件内容为
<?xml version="1.0" encoding="utf8"?><students> <student num="001" class="c1"> <学号>001</学号> <班级>c1</班级> <姓名>黎明</姓名> <性别>男</性别> <年龄>13</年龄> </student></students>
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;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;/** * 使用jar包,dom4j、xml-apis * @Description: dom4j读写 * 实现一个小功能,读取文件,删除节点班级,学号修改为4位如0001,添加一位学生,保存到文件 * @author zhanbian * @date 2017年7月3日 下午2:09:52 */public class DomReadWrite {@SuppressWarnings("unchecked")public static void main(String[] args) throws DocumentException, IOException {String path = "test.xml";File file = new File(path);if(!file.exists()){System.out.println("创建功能请往上看");return;}else{SAXReader reader = new SAXReader();Document document = reader.read(file);//这获得xml的内容System.out.println(document.asXML());//看看文件中都有什么内容Element root = document.getRootElement();//获得root节点Iterator<Element> elem_stus = root.elementIterator("student");while(elem_stus.hasNext()){Element elem_stu = elem_stus.next();String numvalue = elem_stu.attributeValue("num");if(numvalue.length()==3){//修改学号elem_stu.attribute("num").setValue("0"+numvalue);elem_stu.element("学号").setText("0"+numvalue);}Element clas = elem_stu.element("班级");//删除班级节点elem_stu.remove(clas);}//创建第一层子节点并设置属性Element element1 = root.addElement("student");element1.addAttribute("num", "0002").addAttribute("class", "c1");//设置学号,班级//创建第二层节点element1.addElement("学号").addText("0002");element1.addElement("姓名").addText("关羽");element1.addElement("性别").addText("男");element1.addElement("年龄").addText("13");OutputFormat format = OutputFormat.createPrettyPrint();format.setEncoding("utf8");XMLWriter writer = new XMLWriter(new FileOutputStream(file), format);writer.write(document);writer.close();}}}
这次的文件内容是
<?xml version="1.0" encoding="UTF-8"?><students> <student num="0001" class="c1"> <学号>0001</学号> <姓名>黎明</姓名> <性别>男</性别> <年龄>13</年龄> </student> <student num="0002" class="c1"> <学号>0002</学号> <姓名>关羽</姓名> <性别>男</性别> <年龄>13</年龄> </student></students>
这里提供别人提供的更全的使用方法http://blog.csdn.net/xiazdong/article/details/7294109
阅读全文
0 0
- Dom4j的读写
- dom4j对XML的读写
- dom和dom4j读写文件的区别
- DOM4J 对XML的读写 详细注解
- dom4j 读写xml的一些知识。
- Dom4j读写文件时的编码问题
- dom4j、SAX对xml的读写
- dom4j操作xml的读写操作
- dom4j的读写xml文件,读写xml字符串
- Dom4j读写xml文件
- dom4j读写xml
- DOM4J读写文件
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j 读写xml文件
- activiti出现JavaWeb:NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSourceProvider
- USB之 描述符
- 关于去色的公式
- oracle OCP认证经验分享
- android Volly的使用(2)
- Dom4j的读写
- KMP查询字符串是否存在
- 云计算的未来畅想(五) -- matrix(终篇)
- iOS二十种超酷时尚艺术滤镜汇总【附源码】
- select服务器
- 随便写写(内附fread读优和一些较弱的常数优化)
- thinkphp5中使用phpmailer实现发送邮件功能
- 面试题之数据库中事务及其四个特性
- 使用swp恢复VI丢失的文件