JAVA XML Dom4j XPATH的运用

来源:互联网 发布:vb 6.0中文版下载 编辑:程序博客网 时间:2024/05/29 17:00

使用前请先导入Dom4j和XPATH的jar包
Dom4j:https://pan.baidu.com/s/1c16QTzU
XPATH:http://pan.baidu.com/s/1jIdiLaY

XPATH的作用:可以更加简洁高效的访问xml中的标签内容。
例如要获取如下代码的标签的内容,可以使用XPATH语句“Store/a/b/c/d”配合XPATH的特定函数实现高效访问。

<Store>     <a>        <b>            <c>                <d>我在这儿~</d>            </c>        </b>    </a></Store>

XPATH的常用语句:
XPATH的常用语句

XPATH的常用函数:
获取所有符合条件的节点
selectNodes(String xpathExpression) 返回List集合
获取符合条件的单个节点
selectSingleNode(String xpathExpression) 返回一个Node对象。
如果符合条件的节点有多个,那么返回第一个。
注意:他们返回值的都是Node类型,可以直接进行强转为Element类型。

已下为实验代码。

import java.io.File;import java.io.FileInputStream;import java.util.List;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class xpath {    public static void main(String args[]) throws Exception{        //创建Dom4j核心解析器对象。        SAXReader saxReader = new SAXReader();        //读入硬盘中的xml文件,并在内存中创建对象        Document xmlDocument =                 saxReader.read(new FileInputStream(new File("write.xml")));        //获取根节点        Element rootElement = xmlDocument.getRootElement();        System.out.println("获取根结点名称:" + rootElement.getName());        System.out.println("--------------单一查找----------------");        //赋值XPATH语句        String XPATH = "/Store/a/b/c/d";        //利用XPATH语句查找节点。        //因为Node与Element有继承关系,所以可以进行强转。        Element element = (Element) xmlDocument.selectSingleNode(XPATH);        System.out.println("根据XPATH获取结点内容:" + element.getText());        System.out.println("---------------所有查找---------------");        //赋值XPATH语句        XPATH = "//d";        List<Element> list = xmlDocument.selectNodes(XPATH);         for(Element e : list){            System.out.println("根据XPATH获取结点内容:" + e.getText());        }    }}

write.xml文件

<?xml version="1.0" encoding="UTF-8"?><Store>     <a>        <b>            <c>                <d>我在这儿~</d>            </c>            <d>我在那儿~</d>        </b>            <d>我在天上~</d>    </a>        <d>我在地下~</d></Store>
0 0
原创粉丝点击