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

用DOM4J解析XML文件案例

时间:2016-10-15 16:42:57      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:

技术分享

1.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<class> 
  <student> 
    <name>张三</name>  
    <sid>111111</sid> 
  </student>  
  <student> 
    <name>李四</name>  
    <sid>222222</sid> 
  </student> 
</class>

 

Java代码:

 

import java.io.FileOutputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Dom4jCase {
    static Element root;
    public static void main(String[] args) throws Exception {
        add();//在第一个学生里面增加性别标签<sex>男</sex>
        //add2();//在第一个学生的<name>张三</name>标签后增加<home>沭阳</home>
        //delete();//删除上面增加的性别标签<sex>男</sex>
        //modify();//将上面增加的标签<home>沭阳</home>改为<home>江苏</home>
        //select();//查询所有学生姓名
    }

    //在第一个学生里面增加性别标签<sex>男</sex>
    private static void add() throws Exception {
        Document document = getRoot();
        Element s1=root.element("student");
        Element sex1=s1.addElement("sex");
        sex1.setText("男");
        wriiteBack(document);
    }

    //在第一个学生的<name>张三</name>标签后增加<home>沭阳</home>
    private static void add2() throws Exception {
        Document document = getRoot();
        Element s1=root.element("student");
        List<Element>list=s1.elements();
        Element home=DocumentHelper.createElement("home");
        home.setText("沭阳");
        list.add(1,home );
        wriiteBack(document);
    }
    
    //删除上面增加的性别标签<sex>男</sex>
    private static void delete() throws Exception{
        Document document = getRoot();
        Element s1=root.element("student");
        s1.remove(s1.element("sex"));
        wriiteBack(document);
    }
    
    //将上面增加的标签<home>沭阳</home>改为<home>江苏</home>
    private static void modify() throws Exception{
        Document document = getRoot();
        Element s1=root.element("student");
        s1.element("home").setText("江苏");
        wriiteBack(document);
    }
    //查询所有学生姓名
    private static void select() throws Exception{
        Document document = getRoot();
        List<Element> list=root.elements("student");
        for(int i=0;i<list.size();i++)
        {
            System.out.println(list.get(i).elementText("name"));
        }
    }
    
    //XML回写
    private static void wriiteBack(Document document)throws Exception {
        OutputFormat format=OutputFormat.createPrettyPrint();
        XMLWriter writer=new XMLWriter(new FileOutputStream("src/1.xml"), format);
        writer.write(document);
        writer.close();
    }
    //初始化
    private static Document getRoot() throws DocumentException {
        SAXReader saxReader=new SAXReader();
        Document document=saxReader.read("src/1.xml");
        root=document.getRootElement();
        return document;
    }
}

 

用DOM4J解析XML文件案例

标签:

原文地址:http://www.cnblogs.com/fengmingyue/p/5964420.html

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