用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;
    }
}
时间: 2024-07-29 14:59:18

用DOM4J解析XML文件案例的相关文章

使用DOM4J解析XMl文件与读取XML文件

XML文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <bookstore> 3 <book id="1"> 4 <name>冰与火之歌</name> 5 <author>乔治马丁</author> 6 <year>2014</year> 7 <price>89</price&g

【java项目实战】dom4j解析xml文件,连接Oracle数据库

简介 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方,我们还是看一下官方给出的解释.如下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT等语言的库.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP等编程标准. 特点 dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用的特点,同时它也是一个开放源代码的软件.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例

在java项目中怎样利用Dom4j解析XML文件获取数据

在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进行直接读取,能够说这是程序中直接封装好的,包含配置文件里书写的格式等等.那么,假设.想要在配置文件里写一些其它的数据,直接以XML文件的格式进行书写.这个时候在后台怎样读取XML文件里的数据呢?这里利用Dom4j来解析XML文件里连接oracle数据库的xml数据. 在使用之前,首先要在自己的项目中

在java项目中如何利用Dom4j解析XML文件获取数据

在以前的学习.net时经常会遇到利用配置文件来解决项目中一些需要经常变换的数据,比如数据库的连接字符串儿等.这个时候在读取配置文件的时候,我们通常会用到一个雷configuration,通过这个类来进行直接读取,可以说这是程序中直接封装好的,包括配置文件中书写的格式等等.那么,如果,想要在配置文件中写一些其他的数据,直接以XML文件的格式进行书写,这个时候在后台如何读取XML文件中的数据呢?这里利用Dom4j来解析XML文件中连接oracle数据库的xml数据. 在使用之前,首先要在自己的项目中

java dom4j 解析XML文件 简易教程

XML 来自: W3School XML 被设计用来传输和存储数据. HTML 被设计用来显示数据. 什么是 XML? eXtensible Markup Language XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义.您需要自行定义标签. XML 被设计为具有自我描述性. XML 是 W3C 的推荐标准 XML 与 HTML 的主要差异 XML 不

java中采用dom4j解析xml文件

一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4j解析xml的具体操作. 二.代码详情    dom4j是一个第三方开发组开发出的插件,所以在我们使用dom4jf的时候我们要去下载一下dom4j对应版本的jar导入在我们项目中.  1)xml文件: <?xml version="1.0" encoding="UTF-8&

1.使用dom4j解析XML文件

一.dom4j的简介 dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它.在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能.功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的.如今可以看到越

Android中Pull解析器解析xml文件案例

首先 准备一个供解析的xml文件,这里我们假定要解析的文件名称为person.xml,文件的具体内容为: <?xml version="1.0" encoding="utf-8"?> <persons> <person id="23"> <name>liming</name> <age>23</age> </person> </persons&g

DOM4j解析XML文件

1.DOM4J简介 DOM4J是 dom4j.org 出品的一个开源 XML 解析包.DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP. DOM4J 使用起来非常简单.只要你了解基本的 XML-DOM 模型,就能使用. Dom:把整个文档作为一个对象. DOM4J 最大的特色是使用大量的接口.它的主要接口都在org.dom4j里面定义: Attribute 定义了 XML 的属性. Branch 指能够包含子节点的节点.如XML元素(Eleme