使用xpatn提取元素和属性
来源:互联网 发布:巨潮财经数据库 编辑:程序博客网 时间:2024/05/01 22:11
使用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 seahappy
使用xpath的关键是会使用表达要提取的元素的表达式,使用时可参见dom4j的文档,特别详细,使用方便。
- 使用xpatn提取元素和属性
- 【Java Utility】Jsoup网页爬虫工具--从元素/元素集中提取属性、文本和HTML内容【九】
- 使用元素属性
- jquery之操作元素属性和特性(操作元素属性,each()方法的使用)
- XML元素和属性
- Jquery(四)使用Jquery操作元素的属性和样式
- 动态方法调用和使用action元素的method属性
- JQuery使用(一)(元素和属性)
- MATLAB矩阵元素的提取和替换
- 使用hibernate 提取属性 hibernate 注解@Formula
- 实例034 使用SAX组件解析XML元素属性和属性值
- SVG主要元素和属性
- SVG主要元素和属性
- SVG主要元素和属性
- s:iterator 属性和元素
- HTML5新增元素和属性
- HTML 元素和属性--备份
- H5页面属性和元素
- ora-01033:oracle initialization or shutdown in progress 解决方法
- 一些ASCLL码
- (精)河南省第三届acm(AMAZING AUCTION)
- 数据库索引分析及其优化
- 使用链表实现队列
- 使用xpatn提取元素和属性
- 每个程序员都应该知道的福利
- 电子工程术语汇编
- Nivacat 导入.sql文件出错 解决
- 10条编程语录
- ubuntu 12.04安装telnet和ssh服务
- WinCE文件目录定制
- 除模传奇
- 黑马程序员_银行调度业务