使用xpatn提取元素和属性
使用dom4j工具包提取元素时,使用element方法一层一层的往下提取元素时,短层次的使用起来比较方便,但遇到多层次嵌套的,这种方法便遇到问题,不过还有一种方式来提取元素,使用xpath方式.
xml文件如下:
<?xml version="1.0" encoding="gb2312"?> <书架> <书> <书名 name="the daught of sea">海的女儿</书名> <作者>Hello</作者> <售价>50.0元</售价> <售价>39.0元</售价> </书> <书> <书名 name="happy">卖火柴的小女孩</书名> <作者>安徒生</作者> </书> </书架>
使用xpath方式提取元素的Java代码如下:
package com.java.dom; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class XPathTest { /** * @param args * @throws DocumentException */ public static void main(String[] args) throws DocumentException { SAXReader reader = new SAXReader(); Document doc = reader.read("src/books.xml"); //使用xpath提取单个元素 String price = doc.selectSingleNode("//售价").getText();//取出第一个售价 System.out.println(price); //使用xpath提取多个相同元素 List list = doc.selectNodes("//书名"); for(Iterator it = list.iterator(); it.hasNext();) { Element name = (Element) it.next(); String name1 = name.getText(); System.out.println(name1); } //使用xpath提取多个属性 List list1 = doc.selectNodes("//书名"); for(Iterator iter = list.iterator(); iter.hasNext();) { Element name = (Element) iter.next(); String name1 = name.valueOf("@name"); System.out.println(name1); } } }
运行结果为:
50.0元 海的女儿 卖火柴的小女孩 the daught of sea happy
使用xpath的关键是会使用表达要提取的元素的表达式,使用时可参见dom4j的文档,特别详细,使用方便。
转载于:https://www.cnblogs.com/JPAORM/archive/2012/05/03/2510258.html
使用xpatn提取元素和属性相关推荐
- php 元素添加子元素,css,html_怎么在添加的子元素上继承父元素上已存在的子元素的属性?,css,html,javascript - phpStudy...
怎么在添加的子元素上继承父元素上已存在的子元素的属性? 请问如何使添加后的子元素(tr)也能在鼠标经过前后继续保留其存在的子元素上的属性? dom的基础应用 window.οnlοad=functio ...
- 怎样设置html的元素属性,Jquery怎么设置元素的属性和样式?
Jquery怎么设置元素的属性和样式?下面本篇文章给大家介绍一下使用jQuery操作元素属性与样式的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 元素属性和Dom属性 对于下 ...
- angularJS 自定义元素和属性
创造自定义元素和属性的方法是:directive('string',function(){ return{}; }); ①函数接收两个参数:一个字符串(指令的名字),一个函数: ②回调函数必须返回一个 ...
- jsoup 标准化html代码,Jsoup从元素抽取属性,文本和HTML
在解析获得一个Document实例对象,并查找到一些元素之后,你希望取得在这些元素中的数据.要取得一个属性的值,可以使用Node.attr(String key) 方法 对于一个元素中的文本,可以使用 ...
- Java程序员从笨鸟到菜鸟之(八十八)跟我学jquery(四)JQuery框架操作元素的属性与样式
在前面几篇博客中,我们初步了解了一下jQuery的好处,基本语法,还有一些基本函数,这是学习jquery的基础,在这篇博客中,我们一起来学习一下JQuery框架操作元素的属性与样式,在web开发中,修 ...
- 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式
本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...
- XSD详解二 - 简易元素、属性、内容限定
一.XSD 简易元素 XML Schema 可定义 XML 文件的元素. 简易元素指那些只包含文本的元素.它不会包含任何其他的元素或属性. 1.什么是简易元素? 简易元素指那些仅包含文本的元素.它不会 ...
- 【AS3代码】添加/删除XML子元素及属性
package { import flash.display.Sprite; import flash.xml.XMLDocument; public class M ...
- jQuery修改页面元素的属性
作为一个后台开发者,在web开发的时候会常常遇到修改前台页面的属性的问题.这两天我发现jQuery的$("#id").attr("prop","值&q ...
最新文章
- Sublime Text 3常用快捷键
- 他们翻遍用AI检测新冠的论文,一篇临床可用的也没有?!
- 解析 this.initialize.apply(this, arguments)
- SQL Server 自定义快捷键
- 使用VNC访问Linux桌面
- 计算机二级web题目(7.3)--简单应用题1
- libaio源码安装_MySQL5.7.17 编译安装及二进制安装详解
- SpringMVC中@Controller和@RequestMapping
- 格符\b的使用示例:每隔1秒消去1个字符
- MacBook安装jdk8
- 数字化场景——数字化营销
- python大众点评霸王餐_划重点:如何报名大众点评霸王餐?怎么做才能中奖?
- Juypter Notebook 的安装、配置、部署
- android粘贴,Android复制粘贴到剪贴板
- EtherCAT协议基础知识(Part 3)
- 生成模型的2022年——人工智能AIGC顶级论文回顾
- raid5通常需要几块盘_组成raid5阵列最少需要几块硬盘?
- 扫雷计算机教案,三年级上信息技术教案-扫雷大赛“鼠标的使用”清华版
- Linux 内核编译配置选项简介(转)
- 哈尔滨理工大学---沼跃鱼(待整理)
热门文章
- 九尾之火---算法生成的动画图像
- Oracle时间函数(转)
- Linux使用LVM逻辑卷 给分区扩容 不重启 热扩容
- ubuntu 18.04 设置中文输入法
- docker容器使用-图解
- mysql my.ini配置优化_求高手帮我优化一下 mysql 的 my.ini
- mysql多次join后count优化_mysql join count 优化案例
- php mysql上机题_PHP+mysql真题
- ctf题目:看不见的flag_记一次江西省信息安全线下CTF比赛
- java多线程基础_java线程基础