xpath详细使用介绍

xpath详细使用介绍xpath使用方法,xpath helper使用,xpath finder使用,xpath helper怎么使用,xpath使用,python使用xpath,使用xpath爬虫,xpath,xpath语法,xpath教程
社会化媒体营销 > xpath详细使用介绍

xpath详细使用介绍(1)

如果要告诉别人买一加仑牛奶,您会怎么说?请去买一加仑牛奶回来还是从前门出去,向左转,走三个街区向右转,再走半个街区向右转进入商店。走向通道,沿通道走五米向左,拿一瓶一加仑装的牛奶然后到收银台付款。再沿原路回家。简直太可笑了。只要在请去买一加仑牛奶回来的基础上稍加指示,多数成人都能自己买回牛奶来。

查询语言和计算机搜索与此类似。直接说找一个 Cryptonomicon 的副本要比编写搜索某个数据库的详细逻辑容易得多。由于搜索操作的逻辑非常相似,可以发明一种通用语言让您使用找到 Neal Stephenson 的所有著作这样的命令,然后编写对特定数据存储执行此类查询的引擎。

XPath

在众多查询语言之中,结构化查询语言(SQL)是一种针对查询特定类型的关系库而设计和优化的语言。其他不那么常见的查询语言还有对象查询语言(OQL)和 XQuery。但本文的主题是 XPath,一种为查询 XML 文档而设计的查询语言。比如,下面这个简单的 XPath 查询可以在文档中找到作者为 Neal Stephenson 的所有图书的标题:

//book[author="Neal Stephenson"]/title

作为对照,查询同样信息的纯 DOM 搜索代码如 清单 1 所示:

清单 1. 找到 Neal Stephenson 所有著作 title 元素的 DOM 代码

ArrayList result = new ArrayList();

NodeList books = doc.getElementsByTagName("book");

for (int i = 0; i < books.getLength(); i++) {

Element book = (Element) books.item(i);

NodeList authors = book.getElementsByTagName("author");

boolean stephenson = false;

for (int j = 0; j < authors.getLength(); j++) {

Element author = (Element) authors.item(j);

NodeList children = author.getChildNodes();

StringBuffer sb = new StringBuffer();

for (int k = 0; k < children.getLength(); k++) {

Node child = children.item(k);

// really should to do this recursively

if (child.getNodeType() == Node.TEXT_NODE) {

sb.append(child.getNodeValue());

}

}

if (sb.toString().equals("Neal Stephenson")) {

stephenson = true;

break;

}

}

if (stephenson) {

NodeList titles = book.getElementsByTagName("title");

for (int j = 0; j < titles.getLength(); j++) {

result.add(titles.item(j));

}

}

}

不论您是否相信,清单 1 中的 DOM 显然不如简单的 XPath 表达式通用或者健壮。您愿意编写、调试和维护哪一个?我想答案很明显。

但是虽然有很强的表达能力,XPath 并不是 Java 语言,事实上 XPath 不是一种完整的编程语言。有很多东西用 XPath 表达不出来,甚至有些查询也无法表达。比方说,XPath 不能查找国际标准图书编码(ISBN)检验码不匹配的所有图书,或者找出境外帐户数据库显示欠帐的所有作者。幸运的是,可以把 XPath 结合到 Java 程序中,这样就能发挥两者的优势了:Java Java 所擅长的,XPath XPath 所擅长的。

直到最近,Java 程序执行 XPath 查询所需要的应用程序编程接口(API)还因形形色色的 XPath 引擎而各不相同。Xalan 有一种 APISaxon 使用另一种,其他引擎则使用其他的 API。这意味着代码往往把您限制到一种产品上。理想情况下,最好能够试验具有不同性能特点的各种引擎,而不会带来不适当的麻烦或者重新编写代码。

于是,Java 5 推出了 javax.xml.xpath 包,一个引擎和对象模型独立的 XPath 库。这个包也可用于 Java 1.3 及以后的版本,但需要单独安装 Java API for XML Processing (JAXP) 1.3Xalan 2.7 Saxon 8 以及其他产品包含了这个库的实现。

点击显示全文

分页:123
  • xpath使用指南

    温固而知新,可以为师矣 xpath 使用指南 第 1 页共 10 页 温固而知新,可以为师矣 1. 介绍 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 ...

    贡献者:eyes_world
    165423
  • XPath入门教程整理

    它使用 XPath 表达式来查找 XML 文档 中的信息,并把它显示在 HTML 表中。我将把更多的细节放在 XPath 概述 中,XSLT 中 XPath 的使用。这里,我简要描述了 ...

    贡献者:li_chun_tao
    172373
  • xpath的使用方法

    xpath的使用方法_计算机软件及应用_IT/计算机_专业资料。xpath的使用方法 ...> </C> <E/> </A> 现在,我们就来介绍一些 XPath 中节点匹配的基本方法...

    贡献者:rockyylt
    237422
  • Xpath使用实例简单粗暴

    Xpath使用实例简单粗暴_计算机软件及应用_IT/计算机_专业资料。XPath 语法类似于...实验10 使用XPath 暂无评价 2页 5下载券 xpath详细使用介绍 10页 1下载券 ...

    贡献者:kun_hu
    199496
  • 第五节 使用XPath

    使用XPath使用XPath隐藏>> 第五节 1. XML 文档结构树 使用 XPath XML 文档具有非常好的树状层次结构,以描述产品信息的 XML 文档为例,它的树 状结构如下图所示...

    贡献者:yx544806988
    346408
  • XPath的使用

    XPath的使用_IT/计算机_专业资料。XPath的使用XPath 的使用 XPath 是 XML 的查询语言,和 SQL 的角色很类似。以下面 XML 为例,介绍 XPath 的语法。 定位节点 <...

    贡献者:沟股定力
    772750
  • Firebug查找元素xpath属性使用说明

    Firebug 查找元素 xpath 属性使用说明 1.1 安装 Selenium IDE 1.1.1、 下载安装 firefox 25 简体中文版,并安装完毕《貌似这个版本比较稳定,最新版本的 Selenium ...

    贡献者:嚣张小二哥
    184481
  • xpath详细使用介绍

    xpath详细使用介绍_计算机软件及应用_IT/计算机_专业资料。xpath详细使用介绍如果要告诉别人买一加仑牛奶,您会怎么说?“请去买一加仑牛奶回来” 还是 “从前门出去,...

    贡献者:289520621
    291200
加载中...
加载中...
  • 如何获取某个页面元素的XPath值

    假如现在我们想要获取百度首页《www.baidu.com》的“百度一下”按钮的 XPath 值,如下 图所示: 360 安全浏览器: 第一步:首先,在“百度一下”按钮上按右键,然后...

  • XPath入门教程整理

    </list> XML 声明《如 <?xml version="1.0" encoding="UTF-8"?>》或文档类型定义《DTD》 没有节点类型,因此在 XPath 中不能引用这类实体。 元素节点代表 ...

  • xpath的使用方法

    xpath的使用方法_计算机软件及应用_IT/计算机_专业资料。xpath的使用方法 首先要说的是 XPath 数据类型。XPath 可分为四种数据类型: 1. 节点集《node-set》 节点...

  • XSLT入门学习资料、XPath转换XML文件

    XSLT入门学习资料、XPath转换XML文件_英语学习_外语学习_教育专区。XSLT入门学习资料、XPath转换XML文件 8.2.2 XSLT 简介 XSLT 提供一套规则,用于将一组元素描述的...

  • 自动化测试工具selenium中如何利用xpath来定位元素

    自动化测试工具selenium中如何利用xpath来定位元素 - 自动化测试工具 selenium 中如何利用 xpath 来定位元素 在开始之前,我们先来熟悉 selenium 中常使用的几个...

24小时热门信息
  • docker环境搭建

    docker环境搭建_计算机软件及应用_IT/计算机_专业资料。docker环境安装全文 Docker 是 PasS 提供商 DoctCloud 开源的一个基于 LXC 的高级容 器引擎,源代码托管在 ...

    贡献者:张小飞705
    767694
  • docker从入门到实践

    docker从入门到实践_互联网_IT/计算机_专业资料。docker从入门到实践 超人学院——Docker从入门到实践基础篇 什么是 Docker Docker 是一个开源项目,诞生于 2013 年...

    贡献者:圈圈圆圆heaven
    106996
  • docker命令语句

    docker命令语句_计算机软件及应用_IT/计算机_专业资料。docker命令语句 Docker 基础这篇基础文章是方便用户在使用 cSphere 平台之前,了解 docker 基础知识。 针对已经...

    贡献者:尐凍
    238868
  • Docker on CentOS

    To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash For more examples and ideas, visit: http://docs...

    贡献者:snake890603
    482090
  • Docker 的使用总结

    docker 在线安装与启动 1.1 安装 docker [root@localhost /]#yum install –y epel-release [root@localhost /]# yum -y install docker-io 1.2 启动 ...

    贡献者:border_chen
    182123
  • docker使用手册

    docker使用手册_计算机软件及应用_IT/计算机_专业资料。docker使用手册及常用命令 概念Docker daemon Docker images Docker client Docker Registries Docker containers ...

    贡献者:w19821216w
    560967
精彩推荐
  • Macromedia Flash_8 基础教程Macromedia Flash_8 基础教程

    Flash 8.0 基础教程一、Flash 基础 启动 Flash 在桌面找一个红色图标 双击即可启动,也可以单击“开始” -“所有程序”,在程序菜单中找到 Flash 或者 Macromedia ...贡献者:liusheng61168241

  • 如何下载网页中Adobe Flash Player视频如何下载网页中Adobe Flash Player视频

    如何下载网页中 Adobe Flash Player 视频 工具: PC 和 PC 端的 QQ 浏览器 智能手机和手机端的 QQ 浏览器 步骤: 1、 先用 PC 端的 QQ 浏览器打开你要...贡献者:thzy99359121

  • adobe flash player安装不了解决方法汇总adobe flash player安装不了解决方法汇总

    adobe flash player 安装不了解决方法汇总 Adobe Flash Player 安装不了怎么办?FlashPlayer 是一款高性能的、轻量型且极具表现力的客户 端运行时播放器。很多朋友...贡献者:lahsram249555

  • Adobe Flash Player 最新版本下载Adobe Flash Player 最新版本下载

    温馨提示:安装最新版请卸载旧版本的 AdobeFlash Player。 【基本信息】 作者:Adobe 版本:11.1.115.81 语言:中文 更新时间:2013-09-13 系统:Android 4.0 以上 ...贡献者:奇思妙想的龙384491

  • flashflash

    flash_计算机软件及应用_IT/计算机_专业资料。u8 FLASH_WriteNByte《u32 addr, u8 *dat_buf, u8 no》 《 FLASH_Unlock《》;//Unlock the Flash while《1》 《 ...贡献者:宁仔365294953

  • Flash1Flash1

    《Flash 动画设计》考试资料注意事项: 1、考试时间:2009 年 5 月 18 日晚 18:45-20:25,共计 100 分钟 2、考试地点:2303、2304 教室 3、考试形式:开卷...贡献者:红星闪闪_CC500594

  • FLASHFLASH

    FLASH_计算机软件及应用_IT/计算机_专业资料。知识 1.1Flash CS6 概述及重要概念重点: ①对 Flash 这款软件有一定的了解 ②要求掌握帧,时间轴,图层,场景,笔触...贡献者:雨心の泪148652

  • Flash四种动画的基本步骤Flash四种动画的基本步骤

    Flash四种动画的基本步骤_动画/交互技巧_PPT制作技巧_实用文档。Flash 四种动画的基本步骤 Flash 动画包括逐帧动画、动作补间动画、形状补间动画、遮罩动画、引导线...贡献者:哈尔祝敏262981

手机版 | 欢迎来到社会化媒体营销
RSS订阅