首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript XPath 兑现

2012-11-22 
javascript XPath 实现关于XPath的相关知识可以参看http://www.w3school.com.cn/xpath/index.asp 注意:以

javascript XPath 实现

关于XPath的相关知识可以参看http://www.w3school.com.cn/xpath/index.asp

注意:以下代码的测试环境为FF3.6.3及IE6.0 。chrome浏览器没有测试过,应该不支持。

在进行XPath之前要对xml文档进行加载。如何加载可参看上篇文章。

当然上述方法,如果是在IE中,可以同过IE提供最基本的两个方法解决,这里就不多做赘述。

下面我们最完成的代码做下测试,看下上述编码对与XPath语法的支持情况,为此做如下测试页面

?exam1.xml源文件如下:

我们可以在输入框中进行测试。使用XPath语法 进行测试,当然大部分语法都可以在FF中测试通过,但在IE中,显然对Xpath轴 是不支持的,同时对XPath谓语表达式中的last()、position()也是不支持的。

以下是一些测试语法,大家可以试下:

测试XPath表达式//IE \FF 均测试通过

//no 或者 /exam/no????????????????? ? ? ? ? ?? 选取所有no节点
//no[@id='1']????????????????????????? ? ? ? ? ? ? 选取no节点属性为1的节点
//no/* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 选取no的所有子节点
//no[@*] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??????????? 选取所有带有属性的no节点
//no[value>4]???????????????????????????????????? 选取no节点下value节点值大于4的no节点
//no/question1/q | //no[@id='2']??????? 选取no下question1中的q节点或着no节点属性为1的节点
//no/question1/text()??????????????????????? ?取no节点下所有的question1节点所包含的文本

//IE不支持XPath轴表达式

//ff
//no[last()-1]?????????????????????????????????????? 选取倒数第一个no节点
//no[position()<3]?????????????????????????????? 选择位置小于3的no节点
child::no????????????????????????????????????????????? 选取当前文档所有的no节点
//no/child::question1 ? ? ? ? ? ? ? ? ? ? ? ?? 选取no节点下所有的question1节点
//no/child::question1/child::text()?????? 取no节点下所有的question1节点所包含的文本

热点排行
Bad Request.