`
mgoann
  • 浏览: 249592 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Dom4j入门指南(2)

阅读更多

Dom4j入门指南(2

 

XPath

 

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。因此,对 XPath 的理解是很多高级 XML 应用的基础。 下面让我们来看看dom4j对Xpath标准是怎样实现的。在dom4j中,xpath表达式可以进行描述整个Document或是任何的Node(节点),其中包括Attribute(属性)、Element。而这个功能强大而复杂的xpath标准,在dom4j中你只需要一行代码就搞定。看到这里你是不是开始心痒痒了,呵呵,不急,下面咋们来练练,看招 为了能够让大家对xpath有个清楚的认识,我从网上找了个比较复杂的xml来做示例。下面是xml原文

<?xml version="1.0" encoding="ISO-8859-1" ?>

<wml>
<template>
		<do type="options" label="Back">
				<prev/>
		</do>
</template>
<card id="JY">
<onevent type="onenterbackward">
		<prev/>
</onevent>
<do type="accept">
		<go href="#display_fav"/>
</do>
<p>Pick your fav Book:
<select name="fav" title="Stooges">
		<option value="Xiao">Xiao ao jiang hu</option>
		<option value="She">She diao ying xiong</option>
		<option value="Lu">Lu ding ji</option>
		<option value="Shen">Shen diao xia lv</option>
</select>
</p>
</card>
</wml>

 

我把它放到了D盘下,命名为example.xml。以下是代码: 

package com.mgoann.dom4j;

import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class Mydom4j {
	
	public static void main(String[] args) {
		try {
			Mydom4j dom = new Mydom4j();
			Document doc = dom.parse(new File("d:/example.xml"));
			
			dom.barXpath(doc);
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}
	
    public Document parse(File file) throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = reader.read(file);
        return document;
    }
    
        public void barXpath(Document document) {
        List selectNodes = document.selectNodes( "/wml/card/p/select/option" );
        for(Iterator it = selectNodes.iterator(); it.hasNext();) {
        	print((Element)it.next());
        }
        Node node = document.selectSingleNode( "/wml/card/p/select/option" );
        print(node);
        String value = node.valueOf( "@value" );
        print(value);
    }
    
    public void print(Node node) {
    	System.out.println("================================");
    	System.out.println(node.asXML());
    }
    
    public void print(String str) {
    	System.out.println("================================");
    	System.out.println(str);
    }


}

 

以上程序输出结果: 

================================
<option value="Xiao">Xiao ao jiang hu</option>
================================
<option value="She">She diao ying xiong</option>
================================
<option value="Lu">Lu ding ji</option>
================================
<option value="Shen">Shen diao xia lv</option>
================================
<option value="Xiao">Xiao ao jiang hu</option>
Xiao

 

 到现在大家应该对dom4j的xpath实现有个简单的认识了吧。

分享到:
评论

相关推荐

    dom4j的使用教程

    dom4j相关知识,适合入门。 DOM4J使用起来非常简单。只要你了解基本的XML-DOM模型,就能使用。然而他自己带的指南只有短短一页(html),不过说的到挺全。国内的中文资料很少。因而俺写这个短小的教程方便大家使用...

    hibernate + spring 简化包

    通常需要复制cglib,dom4j,jakarta-commons,log4j等文件夹下的jar文件。  (4)为了编译java文件,可以找到Spring的基础类,将Spring.jar文件的路径添加到环境变量CLASSPATH中。当然,也可以使用ANT工具,但无须...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    4.DOM则为脚本和对象的交流提供一个公共平台,并将结果显示在浏览器窗口。 如果任何一个部分发生错误,都不会得到正确结果。 好了,看到这里,我们已经对XML是如何工作的有一个整体的大致的概念。通过这一章的...

    PHP手册(带评论版-2008-03-14).part2.rar

    此为第2个包! 前言 作者和贡献者 I. 入门指引 1. 简介 2. 简明教程 II. 安装与配置 3. 安装前需要考虑的事项 4. Unix 系统下的安装 5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有...

    PHP函数参考手册大全

    入门指引 1. 简介 2. 简明教程 II. 安装与配置 3. 安装前需要考虑的事项 4. Unix 系统下的安装 5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 ...

    中文版PHP使用手册

    入门指引 1. 简介 2. 简明教程 II. 安装与配置 3. 安装前需要考虑的事项 4. Unix 系统下的安装 5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 ...

    php手册PHP5研究室编无乱码版本chm

    J. 保留字列表 K. 资源类型列表 L. 支持的协议/封装协议列表 M. 可用过滤器列表 N. 所支持的套接字传输器(Socket Transports)列表 O. PHP 类型比较表 P. 解析器代号列表 Q. 关于本手册 R. 开放出版许可...

    PHP手册(带评论版-2008-03-14).part1.rar

    J. 保留字列表 K. 资源类型列表 L. 支持的协议/封装协议列表 M. 可用过滤器列表 N. 所支持的套接字传输器(Socket Transports)列表 O. PHP 类型比较表 P. 解析器代号列表 Q. 关于本手册 R. 开放出版许可协议 S. ...

    PHP5 开发手册 简体中文手册

    入门指引 1. 简介 2. 简明教程 II. 安装与配置 3. 安装前需要考虑的事项 4. Unix 系统下的安装 5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 ...

    php手册.chm,php手册

    J. 保留字列表 K. 资源类型列表 L. 支持的协议/封装协议列表 M. 可用过滤器列表 N. 所支持的套接字传输器(Socket Transports)列表 O. PHP 类型比较表 P. 解析器代号列表 Q. 关于本手册 R. 开放出版许可协议 S. ...

    php帮助文档,php。chm,php必备的中文手册

    J. 函数别名列表 K. 保留字列表 L. 资源类型列表 M. 支持的协议/封装协议列表 N. 可用过滤器列表 O. 所支持的套接字传输器(Socket Transports)列表 P. PHP 类型比较表 Q. 解析器代号列表 R. 关于本手册 S. 开放...

Global site tag (gtag.js) - Google Analytics