***默认情况下,dom4j不支持xpath。

  如果想要使用xpath,需要引入jaxen-1.1-beta-6.jar包。

在dom4j中提供了两个方法来支持xpath。

***selectNodes("xpath表达式")

    ---获取多个节点

***selectSingleNode("xpath表达式")

    ---获取一个节点

**使用xpath实现:查询所有name元素的值

    所有name元素的值用://name

animal.xml

<?xml version="1.0" encoding="UTF-8"?>
<animal>
  <cat id1="sususu">
    <name>汤姆</name>  
    <color>black</color>  
    <age>30</age>  
    <sex>男</sex>
  </cat>  
  <friend>丫丫</friend>  
  <cat>
    <name>丑小鸭</name>  
    <color>yellow</color>  
    <age>15</age>
  </cat>
</animal>
dom4jXpath.java

package example4;

import java.util.List;

import org.dom4j.Document;
import org.dom4j.Node;

public class dom4jXpath {
    public static void main(String[] args) {
        //selectName();
        selectFirstName();
    }
    //使用xpath获取所有结点
    public static void selectName() {
        //得到document对象
        Document document=dom4jClass.getDocument();
        List<Node> list=document.selectNodes("//age");
        //遍历list集合
        for (Node node : list) {
            String s=node.getText();
        System.out.println(s);
        }
    }
    //使用xpath获取第一个cat下面的name的值
    public static void selectFirstName() {
        Document document=dom4jClass.getDocument();
        Node node=document.selectSingleNode("//cat[@id1='sususu']/name");
        String s=node.getText();
        System.out.println(s);
    }
}

dom4j支持Xpath的具体操作的更多相关文章

  1. java使用dom4j和XPath解析XML与.net 操作XML小结

    最近研究java的dom4j包,使用 dom4j包来操作了xml 文件 包括三个文件:studentInfo.xml(待解析的xml文件), Dom4jReadExmple.java(解析的主要类), ...

  2. 8.xpath(dom4j支持的jar)

    1.使用dom4j支持xpath的操作(xpath可以直接获取到某个元素) (1)第一种形式 /AAA/DDD/BBB:表示一层一层的,AAA下面DDD下面的BBB元素 (2)第二种形式 //BBB: ...

  3. 简单用DOM4J结合XPATH解析XML

    由于DOM4J在解析XML时只能一层一层解析,所以当XML文件层数过多时使用会很不方便,结合XPATH就可以直接获取到某个元素 使用dom4j支持xpath的操作的几种主要形式    第一种形式   ...

  4. Java---XML的解析(2)-DOM4J解析/Xpath

    Dom4j: Dom SUN dom在加载时,将所有元素全部加载内存 DOM4j - 第三方. Dom4j是一个开源.灵活的XML API. 目前很多开源框架如struts,hibernate都使用d ...

  5. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  6. dom4j解析器 基于dom4j的xpath技术 简单工厂设计模式 分层结构设计思想 SAX解析器 DOM编程

    *1 dom4j解析器   1)CRUD的含义:CreateReadUpdateDelete增删查改   2)XML解析器有二类,分别是DOM和SAX(simple Api for xml).     ...

  7. 开源:矿Android新闻client,快、小、支持离线阅读、操作简单、内容丰富,形式多样展示、的信息量、全功能 等待(离开码邮箱)

    分享:矿Android新闻client.快.小.支持离线阅读.操作简单.内容丰富,形式多样展示.的信息量.全功能 等待(离开码邮箱) 历时30天我为了开发这个新闻clientAPP,下面简称觅闻 ht ...

  8. Dom4J配合XPath解析schema约束的xml配置文件问题

    如果一个xml文件没有引入约束,或者引入的是DTD约束时,那么使用dom4j和xpath是可以正常解析的,不引入约束的情况本文不再展示. 引入DTD约束的情况 mybook.dtd: <?xml ...

  9. MFC中运行出现问题“不支持尝试执行的操作”

    http://blog.csdn.net/maturn/article/details/8051987 问题描述: 基于CDialogEx的对话框工程.VS2010开发环境. 调试运行到OnInitD ...

随机推荐

  1. 概述File i/o

    1.File对象既可表示文件,也可表示目录(文件夹). 2. 创建一个File对象 File file = new File (String pathName[文件路径名]); 3.在Windows操 ...

  2. Qt 静态编译发布和动态编译发布

    静态编译发布 你写了一个小型Qt程序,发布的时候不想要一大堆dll文件,就只想打包成一个exe文件,那么就需要用到静态编译. 下面的教程就是Qt静态编译环境配置 Qt5.6静态编译包下载地址 1.下载 ...

  3. MySQL学习(三)函数

    一.数学函数 绝对值函数ABS():ABS(X) 返回圆周率函数PI() 平方根函数SQRT() 求余函数MOD(X,Y) 获取整数函数CEIL(X),CEILING(X)返回不小于X的最小整数:FL ...

  4. 「C基础」位运算

    0. 原码.补码.反码 初学者只做了解即可 见 张子秋的博客 无论正负数,在内存中存储的都是补码 正数:反码 == 原码 == 补码 负数:反码 == ~原码 补码 == 反码+1 1. & ...

  5. bzoj2003 [Hnoi2010]矩阵

    Description Input 第一行包含三个正整数N M P表示矩阵的行数列数以及每个数的范围,接下来N行每行包含M个非负整数,其中第i行第j个数表示以格子(i,j)为右下角的2*2子矩阵中的数 ...

  6. Manacher算法模板

    题目描述 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 输入输出格式 输入格式: 一行小写英文字符a,b,c...y,z组成的字符串S 输出格 ...

  7. POJ 1984 Navigation Nightmare 【经典带权并查集】

    任意门:http://poj.org/problem?id=1984 Navigation Nightmare Time Limit: 2000MS   Memory Limit: 30000K To ...

  8. Going deeper with convolutions(GoogLeNet、Inception)

    从LeNet-5开始,cnn就有了标准的结构:stacked convolutional layers are followed by one or more fully-connected laye ...

  9. eclipse集成tomcat 部署项目设置

    ============================================================= 1. 下载安装tomcat插件 ====================== ...

  10. Laravel5 打印SQL

    在src/Illuminate/Database/Connection.php里打印SQL默认是关闭的,见https://github.com/laravel/framework/commit/e0a ...