xpath文档详解

来源:互联网 发布:指南针炒股软件诈骗: 编辑:程序博客网 时间:2024/06/05 06:27

基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径:

/AAA

选择根元素AAA

/AAA/CCC

选择AAA 的所有CCC子元素

//BBB

选择所有BBB元素

//DDD/BBB

选择所有父元素是DDD的BBB元素

星号 * 表示选择所有由星号之前的路径所定位的元素

/AAA/CCC/DDD/*

选择所有路径依附于/AAA/CCC/DDD 的元素

/*/*/*/BBB

选择所有的有3个祖先元素的BBB元素

//*

选择所有元素

/AAA/BBB[1]

选择AAA 的第一个BBB子元素

/AAA/BBB[last()]

选择AAA 的最后一个BBB子元素

//@id

选择所有的id属性

//BBB[@name]

选择有name属性的BBB元素

//BBB[@*]

选择有任意属性的BBB元素

//BBB[@id='b1']

选择含有属性id且其值为'b1'的BBB元素

//BBB[@name='bbb']

选择含有属性name且其值为'bbb'的BBB元素

//BBB[normalize-space(@name)='bbb']

选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为'bbb'的BBB元素

//*[count(BBB)=2]

选择含有2个BBB子元素的元素

//*[string-length(name()) = 3]

选择名字长度为3的元素

//CCC | //BBB

选择所有的CCC和BBB元素

/AAA

等价于 /child::AAA

/descendant::*

选择文档根元素的所有后代.即所有的元素被选择

/AAA/BBB/descendant::*

选择/AAA/BBB 的所有后代元素

//DDD/parent::*

选择DDD元素的所有父节点

<AAA>

< BBB/>

 < CCC/>

< BBB/>

 < BBB/>

 < DDD>

 < BBB/> 

</DDD>

 < CCC/>

</AAA>

 

0 0