首页 > 代码库 > 用DOM4J解析XML文件案例

用DOM4J解析XML文件案例

用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文件案例