专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 使用dom4j实现查询XML实例

使用dom4j实现查询XML实例

更新时间:2020-11-27 17:45:27 来源:动力节点 浏览946次

dom4j是一个Java的XML API,是微软公司提供的用于解析xml的工具包,类似于jdom,用来读写XML文件。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和简单易使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在dom4j的众多功能中,本文就来为大家详细讲一讲如何使用dom4j实现查询XML操作

 

一、查询所有name元素里面的值

package cn.ideal.xml.dom4j;

 

/*

   1、创建解析器

   2、得到document

   3、得到根节点  getRootElement() 返回Element

   4、得到所有的p1标签

      * elements("p1") 返回list集合

      * 遍历list得到每一个p1

   5、得到name

      * 在p1下面执行 element("name")方法 返回Element

   6、得到name里面的值

      * getText方法得到值

*/

 

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

 

import java.util.List;

 

public class TestDom4j1 {

    //查询xml中所有name元素的值

    public static void main(String[] args) throws DocumentException {

        //创建解析器

        SAXReader saxReader = new SAXReader();

        //得到document

        Document document = saxReader.read("code-04_xml/src/s1.xml");

        //得到根节点

        Element rootElement = document.getRootElement();

        //得到stu

        List<Element> list = rootElement.elements("stu");

 

        //遍历list

        for (Element element : list) {

            //element是每一个元素

            //得到name里面的值

            Element name1 = element.element("name");

            //得到name里面的值

            String s = name1.getText();

            System.out.println(s);

        }

    }

}

//运行结果

 

二、查询第一个name元素的值

package cn.ideal.xml.dom4j;

 

/*

    1、创建解析器

    2、得到document

    3、得到根节点

    4、得到第一个stu元素

        element("stu")方法 返回Element

    5、得到p1下面的name元素

        element("name")方法 返回Element

    6、得到name元素里面的值

        getText方法

 */

 

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

 

public class TestDom4j2 {

    public static void main(String[] args) throws DocumentException {

        //创建解析器

        SAXReader saxReader = new SAXReader();

        //得到document对象

        Document document = saxReader.read("code-04_xml/src/s1.xml");

        //得到根节点

        Element rootElement = document.getRootElement();

        //得到第一个stu元素

        Element stu = rootElement.element("stu");

        //得到stu下面的name元素

        Element name1 = stu.element("name");

        //得到name的值

        String s1 = name1.getText();

        System.out.println(s1);

    }

}

 

//运行结果

 

三、获取第二个name元素的值

package cn.ideal.xml.dom4j;

 

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

 

import java.util.List;

 

/*

    1、创建解析器

    2、得到document

    3、得到根节点

    4、得到所有的stu

        返回 list集合

    5、遍历得到第二个stu

        使用list下标得到 get方法,集合的下标从 0 开始,想要得到第二个值,下标写 1

    6、得到第二个p1下面的name

        element("name")方法 返回Element

    7、得到name的值

        getText方法

 */

public class TestDom4j3 {

    public static void main(String[] args) throws DocumentException {

        //创建解析器

        SAXReader saxReader = new SAXReader();

        //得到document

        Document document = saxReader.read("code-04_xml/src/s1.xml");

        //得到根节点

        Element rootElement = document.getRootElement();

        //得到所有stu

        List<Element> list = rootElement.elements("stu");

        //得到第二个stu

        Element stu2 = list.get(1);

        //得到stu下的name

        Element name2 = stu2.element("name");

        //得到name里面的值

        String s2 = name2.getText();

        System.out.println(s2);

    }

}


看完了上述使用dom4j实现查询XML实例操作的例子,是不是觉得DOM4J使用起来非常简单呢。的确如此,只要你了解基本的XML-DOM模型,就能轻松使用。本站的XML教程中还有更多的dom4j解析XML格式数据的精彩示例,欢迎小伙伴们前去学习。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>