文档章节

DOM4J_Xpath

H
 HoneyHoney
发布于 2015/06/15 14:34
字数 246
阅读 18
收藏 0
点赞 0
评论 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 ⋅ 0

DOM4J解析XML

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

iborder ⋅ 2016/10/18 ⋅ 0

使用DOM4J遍历文档

dom4j提供了几种不同的选项用于遍历Document对象和它的子对象。 Iterator,Lists和Index-Based Access 例如,输出Element所有子元素location属性的属性值: public void outputLocationAttrib...

柳哥 ⋅ 2015/01/17 ⋅ 0

dom4j去除Xml命名空间

当你解析XML时,是否会因为命名空间的存在而不能得偿所愿呢? 在java中,好多人推荐用dom4j处理xml,下面就说下在dom4j上处理带命名空间Xml的三种方法: Xml文件: 第一个方法:设置你的xpa...

陶邦仁 ⋅ 2012/09/21 ⋅ 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 ⋅ 0

dom4j 2.0.1 发布,XML 操作库

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

淡漠悠然 ⋅ 2017/07/06 ⋅ 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 ⋅ 5

java解析xml -- DOM4J JDOM DOM SAX 之比较

DOM4J http://dom4j.sourceforge.net 虽然DOM4J代表了完全独立的开发结果,但最初,它是JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XML Schema支持以...

o0江湖郎中0o ⋅ 2014/01/07 ⋅ 2

Dom4j的使用(全而好的文章)

Dom4j 使用简介 作者:冰云 icecloud(AT)sina.com 时间:2003.12.15 DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: Dom4j is an easy to use, open source library for w...

倚小丁 ⋅ 2010/11/02 ⋅ 0

开源的XPath库--Jaxen

Jaxen的是一个Java编写的开源的XPath库。这是适应多种不同的对象模型,包括DOM,XOM,dom4j和JDOM。也可以作为适配器,转换Java字节代码或XML的Java bean为xml,从而使您可以使用XPath查询这...

匿名 ⋅ 2010/12/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java序列化和反序列化

1、什么是序列化和反序列化 序列化:把对象转换为字节序列的过程。 反序列化:把字节序列恢复成对象的过程。 2、被序列化的类需要实现serializable接口,只是为了标注该对象是可以被序列化的...

IT-Mamba ⋅ 3分钟前 ⋅ 0

流式构建原理

流式构建需要达到分钟级的数据更新频率,Kylin采用类似于Spark Streaming的做法,每隔数分钟进行一次微构建。这边的构建需要考虑到一个延迟因素,分布式网络存在延迟等因素,该时间段的数据有...

无精疯 ⋅ 4分钟前 ⋅ 0

在maven项目工程编写solr代码,需要的依赖

solrJ <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.6.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents<......

爱运动的小乌龟 ⋅ 10分钟前 ⋅ 0

Spring Cloud Config

Spring Cloud Config application.yml 和 bootstrap.yml 区别 加载顺序 bootstrap.yml 先加载 application.yml 后加载 bootstrap.yml 用于应用程序上下文的引导阶段。 bootstrap.yml 由父 Sp...

施长成 ⋅ 20分钟前 ⋅ 0

MapReduce V2——YARN调度

一、MapReduce的局限性 1、JobTracker的单点问题 2、TaskTracker的作业信息分配的过于简单,当有资源消耗较大的或者时间较长的Task分配在同一个节点上的时候,容易失败或者等待时间过长 3、作...

cjxcloud ⋅ 22分钟前 ⋅ 0

EOS踩坑--脆弱的数据库

安装EOS我就不在这赘述了,来唠唠EOS踩到的坑,跟着官方文档走,然后到了同步数据的时候,Ctrl+Z结束了之后,再次运行报错 root@ubuntu:~# nodeos -e -p eosio --plugin eosio::chain_api_pl...

开源首席鉴黄师 ⋅ 22分钟前 ⋅ 0

对于程序员的招聘问题,作为软件人的一些吐槽和建议

作为软件人,找工作有时候似乎挺苦逼的。 说真的,让我去掉前面这句中“似乎”二字吧。就是苦逼!很多人都曾抱怨处在招聘的一方很糟糕——我们没有任何可靠的方式来甄别会写代码并且写得好的...

老道士 ⋅ 37分钟前 ⋅ 0

Linux下MySQL表名不区分大小写的设置方法(抄袭别人的)

Linux下MySQL表名不区分大小写的设置方法 MySQL表名不区分大小写的设置方法 在用centox安装mysql后,把项目的数据库移植了过去,发现一些表的数据查不到,排查了一下问题,最后发现是表名的大...

随风而浮沉 ⋅ 46分钟前 ⋅ 0

ubuntu下安装宋体simsun

sudo cp simsun.ttc /usr/share/fonts cd /usr/share/fonts sudo chmod 644 simsun.ttc 更新字体缓存: 代码: sudo mkfontscale 代码: sudo mkfontdir 代码: sudo fc-cache -fsv 安装chrome扩......

wangxuwei ⋅ 48分钟前 ⋅ 0

利用 ssh 传输文件

Linux 下一般可以用 scp 命令通过 ssh 传送文件: #把服务器上的 /home/user/a.txt 发送到本机的 /var/www/local_dir 目录下scp username@servername:/home/user/a.txt /var/www/local_dir...

大灰狼时间 ⋅ 58分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部