文档章节

DOM4J_Xpath

H
 HoneyHoney
发布于 2015/06/15 14:34
字数 246
阅读 18
收藏 0
  • XPath 使用路径表达式在 XML 文档中进行导航

  • XPath 包含一个标准函数库

  • XPath 是 XSLT 中的主要元素

  • XPath 是一个 W3C 标准 

第一步:导入xpath的支持包

第二步:使用xpath 

   1:定义xpath = "//name"

   2:查询 dom.selectNodes(xpath);

public class Demo03_Xpath {
 @Test
 public void test1() throws Exception {
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  String xpath = "//name";
  List<Element> list = dom.selectNodes(xpath);
  for(Element e:list){
   System.err.println(e.getText());
  }
 }
}

用xpath实现登录:

 @Test
 public void test2() throws Exception {
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  String xpath = "//user[name='张三'][pwd='22225666']";
  Element e = (Element) dom.selectSingleNode(xpath);
  System.err.println(e);
 }

模糊查询:

 @Test
 public void test3() throws Exception {
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  String xpath = "//user[contains(name,'赵')][contains(age,'3')]";
  List<Element> list = dom.selectNodes(xpath);
  for(Element e:list){
   System.err.println(e.asXML());
   System.err.println("-----------------------");
  }
 }

根据id查询:

 @Test
 public void test4() throws Exception {
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  String xpath = "//user[@id='U001']";
  Element e = (Element) dom.selectSingleNode(xpath);
  System.err.println(e.asXML());
 }


© 著作权归作者所有

共有 人打赏支持
H
粉丝 0
博文 21
码字总数 6313
作品 0
济南
Android 创建与解析XML(五)—— Dom4j方式

1、Dom4j概述 dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support fo......

长平狐
2013/01/06
91
0
DOM4J解析XML

Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。很多Java软件读写XML都在使用dom4j,Sun公司的JAXM也是用dom4j。Hib...

iborder
2016/10/18
42
0
day08 Xml与Tomcat

DTD约束demo bookstore1.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE bookstore [ <!ELEMENT bookstore (book+)> <!ELEMENT book (title,author,year,price)> <!ELEMENT title (#......

萧小蚁
2016/03/09
50
0
dom4j 2.0.1 发布,XML 操作库

dom4j 2.0.1 已发布,该版本主要是修复了 bug,详细如下: 修复 QName 序列化 (#17) DocumentException 初始化出现 nested exception (#20) 多线程测试中意外发生的错误 (#14) 下载地址 dom4...

淡漠悠然
2017/07/06
1K
22
Dom4j 2.0.0 RC1 发布,XML 操作库

Dom4j 2.0.0 RC1 发布下载,暂未找到相关说明。 下载:dom4j-1.6.1.tar.gz (9.7 MB)。 Dom4j 是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支...

淡漠悠然
2015/07/20
1K
5

没有更多内容

加载失败,请刷新页面

加载更多

SingleNumber136 leetCode

Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you im......

woshixin
12分钟前
0
0
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
53分钟前
2
0
区块链100讲:UTXO 和 Account 模型对比

在当前区块链世界中,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 采用的是 UTXO 模型,Ethereum 采用的 Account 模型,同样 CITA 也采用了 ...

HiBlock
55分钟前
1
0
Vue中路由管理器Vue Router使用介绍(三)

一、路由定义添加动态参数定义 1.路由定义项,使用:xx 方式 定义动态参数 { path:'/user/:id/:name', name:'user', component:()=>import('./views/User.vue') ...

tianma3798
56分钟前
1
0
从ibdata文件恢复mysql数据

DROP TABLE 恢复【一】 Recover InnoDB dictionary Percona Data Recovery Tool 单表恢复

IT--小哥
59分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部