2007-10-15

JS中常用的xpath特性

关键字: js xpath
js 代码
  1. //选择所有dir元素的值等于xx的元素   
  2. Dom.documentElement.selectNodes("server/dir[text()='xx']")   
  3.   
  4. //选择server元素下的所有dir元素:   
  5. Dom.documentElement.selectNodes("server/dir")   
  6.     
  7. //选择server元素下的第一个dir元素:   
  8. Dom.documentElement.selectSingleNode("server/dir");   
  9.     
  10. //选择server元素下accesstype等于3的多有dir元素:   
  11. Dom.documentElement.selectNodes("server/dir[@accesstype=\"3\"]");   
  12.     
  13. //选择server元素下第一个dir元素:   
  14. Dom.documentElement.selectNodes("server[postion() =1]/dir");   
  15. Dom.documentElement.selectNodes("server/dir[1]");   
  16.     
  17. //选择server元素下最后一个dir元素:   
  18. Dom.documentElement.selectNodes("server/dir[last()]");   
  19.     
  20. //选择有三个祖先元素的file元素:   
  21. Dom.documentElement.selectNodes("*/*/*/file");   
  22.     
  23. //选择有id属性的dir元素:   
  24. Dom.documentElement.selectNodes("/dir[@id]");   
  25.     
  26. //选择含有2个dir子元素的元素   
  27. Dom.documentElement.selectNodes("/*[count(dir)=2]");  
评论
NistCK 2008-02-22
//选择server元素下第一个dir元素:
Dom.documentElement.selectNodes("server[postion() =1]/dir");
Dom.documentElement.selectNodes("server/dir[1]");

误导!
server[position()=1]/dir
选择的是: 所有的dir节点, 这些节点满足: 其父节点是server节点, 并且这个server节点是当前节点下所有{必须带有dir子节点}的server节点的第一个节点.

server/dir[1]
选择的是: 所有server下的第一dir节点, 这些dir节点的父节点是server节点, 即: 这些dir节点是当前节点下满足 server/dir 父子结构的节点.

以上, 当前节点都是指: Dom.documentElement.
NistCK 2008-02-22
//选择含有2个dir子元素的元素
Dom.documentElement.selectNodes("/*[count(dir)=2]");

下面这个DOM?
<data name="data">
<server>
<dir name="root" />
<dir/>
</server>
<server>
<dir name="temp" />
</server>
</data>



-->
选择含有2个dir子元素的元素:
Dom.documentElement.selectNodes( "//*[count(dir)=2]" );
NistCK 2008-02-22
//选择有id属性的dir元素:
Dom.documentElement.selectNodes("/dir[@id]");


如果下列两个条件之一不成立, 这个返回肯定是0个节点:
a. Dom.documentElement.nodeName = "dir"(节点名称为 dir );
b. Dom.documentElement 的属性列表中有一个叫id的属性;


选择有id属性的dir元素: Dom.documentElement.selectNodes( "//dir[@id]" )
NistCK 2008-02-22
//选择server元素下第一个dir元素:
Dom.documentElement.selectNodes("server[postion() =1]/dir");
Dom.documentElement.selectNodes("server/dir[1]");

误导!
server[position()=1]/dir
选择的是: 所有的dir节点, 这些节点满足: 其父节点是server节点, 并且这个server节点是当前节点下所有{必须带有dir子节点}的server节点的第一个节点.

server/dir[1]
选择的是: 一个dir节点, 这个dir节点的父节点是server节点, 即: 这个dir节点是当前节点下满足 server/dir 父子结构的第一个节点.

以上, 当前节点都是指: Dom.documentElement.
发表评论

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