阅读更多
谷歌今天发布了Wicked Good XPath,这是一个DOM Level 3 XPath规范的纯JavaScript实现。谷歌称,这是目前最快的JavaScript XPath实现。

使用Wicked Good XPath,你只需下载wgxpath.install.js文件,然后在页面中添加一个script标记,并引用该文件即可。
<script src="wgxpath.install.js"></script>

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。因此,对 XPath 的理解是很多高级 XML 应用的基础。

目前IE浏览器还未提供对XPath的原生支持,不过开发者可以使用纯JavaScript实现的XPath。在2005年,谷歌工程师发布了AJAXSLT,该工具包含了一个XPath计算器,但是速度较慢。在IE上使用AJAXSLT运行Web测试非常耗时。

2007年,Cybozu实验室发布了JavaScript-XPath,这是一个新的JavaScript XPath 实现,比AJAXSLT快了10倍。随后JavaScript-XPath项目不再维护,其中的bug也很难被修复。因此,谷歌决定使用Google Closure重写这个库。

谷歌还进行了大量的改进。新版本(Wicked Good XPath)的速度比JavaScript-XPath快了30%,代码也仅为25K,比原来减少了40%。

此外,谷歌重新组织了代码并文档化,未来维护将会更加快速、容易。

项目地址:http://code.google.com/p/wicked-good-xpath/
6
1
评论 共 8 条 请登录后发表评论
8 楼 Dominator008 2012-09-07 08:28
lsjinpeng 写道
Dominator008 写道
lsjinpeng 写道
不知道是干嘛的。。。
屌丝了
 

用于在HTML文档中选择节点、元素。主要用于网页的自动化测试(Selenium / WebDriver / Pupeteer) 等。

是不是firefox的debug插件那种功能?


不是,比如Xpath路径"//div"就能选中所有<div>元素。JavaScript语句是var alldivs = document.evaluate("//div", document, null, 7, null);然后可以遍历这些div,进行内容检查之类的。
7 楼 lsjinpeng 2012-09-06 16:20
Dominator008 写道
lsjinpeng 写道
不知道是干嘛的。。。
屌丝了
 

用于在HTML文档中选择节点、元素。主要用于网页的自动化测试(Selenium / WebDriver / Pupeteer) 等。

是不是firefox的debug插件那种功能?
6 楼 Dominator008 2012-09-06 11:35
lsjinpeng 写道
不知道是干嘛的。。。
屌丝了
 

用于在HTML文档中选择节点、元素。主要用于网页的自动化测试(Selenium / WebDriver / Pupeteer) 等。
5 楼 Dominator008 2012-09-06 11:34
diggywang 写道
25K实现的XPath,Perfect!
混淆过的,一般人看不懂...


这主要是因为我们使用了Google Closure编译器。目前我们该库的适用对象仅限于HTML文档,XML文档的部分功能没有实现。
4 楼 diggywang 2012-09-06 10:29
25K实现的XPath,Perfect!
混淆过的,一般人看不懂...
3 楼 lsjinpeng 2012-09-06 10:09
不知道是干嘛的。。。
屌丝了
 
2 楼 珲涩幽默 2012-09-05 16:58
  
1 楼 zthe001 2012-09-05 15:30
   

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • wicked-good-xpath, 纯JS实现DOM级别 3 XPath规范.zip

    wicked-good-xpath, 纯JS实现DOM级别 3 XPath规范 很好的XPath Wicked XPath是谷歌编写的DOM级别 3 XPath规范的纯JavaScript实现。 它为每个浏览器中的HTML文档启用XPath评估。 我们相信它是JavaScript中最快的XPath...

  • JSP的EL表达式的使用

    JSP2.0最重要的特性之一就是表达式语言EL (Expression Language ),由于受到ECMAScript和XPath表达式语言的启发,EL也被设计成可以轻松地编写免脚本的JSP页面。使用EL表达式,JSP页面可以不再使用任何的JSP声明、脚本和表达式,就可以轻松地访问应用程序的 数据,这使得JSP页面写起来更加简单。在许多Java Web应用程序中,EL还是会和JSTL配合使用。...

  • JSP Expression Language

    操作符The Arithmetic OperatorsThere are the expected operators here: +, -, *, /, %. You can also use the following for the / and % operators: div and mod. You can see examples of these being used in

  • Expression Language

    Expression Language A primary feature of JSP technology version 2.0 is its support for an expression language (EL). An expression language makes it possible to easily access application data ...

  • 关于自定义标签库找不到路径的解决办法

    前言 最近在学习怎么使用servlet进行自定义标签库的使用,发现一个问题,当我按照书上的代码复现时,死活都找不到标签库。进过分析查找资料,终于解决了这个棘手的问题。 问题说明 死活查找不到自己的自定义标签库,错误代码500。 网上很多人都遇到过这个毛病,有人说添加xml可以解决,有人说换个路径可以解决,经过尝试,终于解决我的这个棘手问题。 解决办法 添加xml &amp;l...

  • enketo-wicked-good-xpath:添加了 Java rosa API 的 Wicked good XPath 分支

    Enketo 邪恶的好 XPath 这个 repo 被废弃并且从未完成 添加了 Enketo/ODK/OpenRosa 功能的分支 ###如何构建 下载- compiler.latest.zip 创建与此 repo 相同级别的文件夹“closure-compiler”(兄弟姐妹) 解压 ...

  • jquery js xpath与css,XPath和CSS选择器

    刚好,谷歌在上个月发布了Wicked Good XPath,这是一个DOM Level 3 XPath规范的纯JavaScript实现,也是目前同类实现中最快的,我们可以把这个脚本和jQuery结合起来使用. jQuery.getScript(...

  • XPath和CSS 3的解析器比较

    最近,我做了很多工作来实现一个同时支持XPath和CSS 3的解析器,令我惊讶的是:它们俩在某些方面上非常相似,而在另一些方面上又完全不同.不同的地方有,CSS是用来配合HTML工作的,可以使用#id来根据ID获取元素,以及使用....

  • C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍

    而XPath就不一样了,毕竟Firefox和chrome都已经实现了XPath的接口document.evaluate方法(Wicked Good XPath应该主要是努力在IE上实现统一的接口),速度肯定比手动遍历DOM来的快.XPath的写法是这样的//E[.//F],怎么样,...

  • JSP的内置(隐含)对象及EL表达式的内置(隐含)对象

    内置(隐含)对象及EL表达式的内置(隐含)对象            JSP中的内置对象一共有九个, 由于有的不太常用, 所以总是记不住, 从Sun公司的网站上找到的PDF文档, 把这一部分放在这里, 以备随时查用:                   Implicit Objects for Scriptlets (JSP Scri...

  • JSP——JavaServer Page中的隐式对象(implicit object)、指令(directive)、脚本元素(scripting element)、动作(action)、EL表达式...

    目录 1.JSP概述 2.注释(comment)   2.1.JSP注释   2.2.HTML注释 3.隐式对象(implicit object)   3.1.隐式对象清单   3.2.request对象   3.3.out对象   3.4.pageContext对象 4.指令(driective)   4.1.page指令     4.1.1.page指令的属性    ...

  • struts中自定义标签引入到jsp中报错问题,不能引入问题

    Can not find the tag library descriptor for "/Idefine-tags",前几天项目就出现这个问题,我没放在心上,不管它就去看文档和其他代码去了。因为平时导入项目都是鼠标右键项目——》找到build-path------》Configure build-path看看jar包路径是否正确,运行环境是是否有问题等等就解决的。 这次是其他什么都没有问题,唯

  • 自定义标签库,导入异常,报500错误

    HTTP Status 500 - The absolute uri: http://java.zcb.common cannot be resolved in either web.xml or the jar files deployed with this application http://java.zcb.common这是我自定义的标签库路经 错误原因 :未在web.xml中进行...

  • wgxpath-latest:wgxpath 的独立包(专为与 bower 一起使用而创建)

    是纯Javascript中和 ( )的快速实现。 版本 xyz : xy指wgxpath.install.js构建时的 Wicked Good XPath 修订版; z指的是对这个包的任何改进。 我很懒,所以我没有自己构建 Wicked Good XPath。 当预编译的更新时...

  • XPath and CSS Selectors

    XPath and CSS Selectors Lately, I’ve been doing a lot of work building a parser for both XPath and CSS 3 – and I was amazed at just how similar they are, in some respects – but wholly different i

  • 黄聪:C#操作xml SelectNodes,SelectSingleNode通过 xPath 定位class包含Contains的DIV

    而XPath就不一样了,毕竟Firefox和chrome都已经实现了XPath的接口document.evaluate方法(Wicked Good XPath应该主要是努力在IE上实现统一的接口),速度肯定比手动遍历DOM来的快.XPath的写法是这样的//E[.//F],怎么样,...

  • 黄聪:HtmlAgilityPack中SelectSingleNode的XPath和CSS选择器

    最近,我做了很多工作来实现一个同时支持XPath和CSS 3的解析器,令我惊讶的是:它们俩在某些方面上非常相似,而在另一些方面上又完全不同.不同的地方有,CSS是用来配合HTML工作的,可以使用#id来根据ID获取元素,以及使用....

  • HtmlAgilityPack中SelectSingleNode的XPath和CSS选择器

    最近,我做了很多工作来实现一个同时支持XPath和CSS 3的解析器,令我惊讶的是:它们俩在某些方面上非常相似,而在另一些方面上又完全不同.不同的地方有,CSS是用来配合HTML工作的,可以使用#id来根据ID获取元素,以及使用.....

Global site tag (gtag.js) - Google Analytics