码迷,mamicode.com
首页 > 其他好文 > 详细

dom4j增删改查简析

时间:2016-08-22 21:38:02      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

1.获取document对象
    1.1 创建saxreader对象
    SAXReader sr = new SAXReader();
    1.2通过该对象解析xml文件,返回document对象
    Document document = sr.read(filename);
注意:整个过程都只能使用dom4j提供的全套API
2.回写:当我们对XML文件进行了修改或者删除等操作时都要进行回写才能将改变反馈到xml文件中
    2.1因为我们在回写的时候要对文件进行格式化,所以先创建格式化对象
    OutputFormat format = OutputFormat.createPrettyPrint();
    //设定对应的码表
    format.setEncoding("utf-8");
    2.2创建写出工具,传入一个字节输出流对象个和前面的格式化对象
    XMLWriter writer = new XMLWriter(new FileOutputStream(fileUrl), format);
    2.3将制定对象写出
    writer.write(document);
    2.4关流
    writer.close();
3.查找    
    3.1通过document对象获取都根元素对象
    Element root = document.getRootElement();
    3.2获取到根元素下的所有子元素的一个集合
    这里以子元素book为例
    List<Element> books = root.elements("book");
    3.3通过遍历获取到每一个元素
    for (Element book : books) {
        System.out.println(book);
    }
    3.4获取元素的属性值
    String attributeValue = book.attributeValue("category");
    3.5获取元素下子元素的文本值
    String text = book.elementText("author");
4.增加元素
    4.1通过DocumentHelper创建新的子元素
    Element title = DocumentHelper.createElement("title");
    4.2给新创建的元素添加属性值
    title.addAttribute("lang", "en");
    4.3给新创建的元素添加文本值
    title.setText("Learning XML");
    4.4确定要将该新创建的元素添加在那个元素下面,获取到该元素
    //1.得到根元素
    Element root = document.getRootElement();

    // 2.获取root的最后一个book元素
    Element book = (Element) root.elements("book").get(2);
    4.5将新创建的元素添加到该元素的下面
    //传入添加位置的索引值和要添加的元素
    book.elements().add(0, title);
    4.6回写,这里我们将回写操作抽取成了一个方法
    Dom4JUtils.documentToXml(document, "WebRoot/bookstore.xml");
5.修改操作
    5.1 修改属性 属性不存在,执行添加,属性存在,执行修改
    book.addAttribute("category", "java");
    5.2 修改文本
    book.element("title").setText("编程思想");
    5.3回写
 6.删除操作
    6.1删除book元素  需要通过父元素来删除子元素
    root.elements().remove(2);
    6.2回写

dom4j增删改查简析

标签:

原文地址:http://www.cnblogs.com/xusong/p/5797012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!