文章搜索:
【点击打包该文章】
以下是本人找到的最完整最易懂的XPath教程,不敢私藏,拿出来与大家分享。
实例 1
基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径
|
/AAA |
|
选择根元素AAA |
|
<AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> </DDD> <CCC/> </AAA>
|
|
/AAA/CCC |
|
选择AAA的所有CCC子元素 |
|
<AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> </DDD> <CCC/> </AAA>
|
|
/AAA/DDD/BBB |
|
选择AAA的子元素DDD的所有子元素 |
|
<AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> </DDD> <CCC/> </AAA>
|
实例 2
如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系)
|
//BBB |
|
选择所有BBB元素 |
|
<AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> </DDD> <CCC> <DDD> <BBB/> <BBB/> </DDD> </CCC> </AAA>
|
|
//DDD/BBB |
|
选择所有父元素是DDD的BBB元素 |
|
<AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> </DDD> <CCC> <DDD> <BBB/> <BBB/> </DDD> </CCC> </AAA>
|
实例 3
星号 * 表示选择所有由星号之前的路径所定位的元素
|
/AAA/CCC/DDD/* |
|
选择所有路径依附于/AAA/CCC/DDD的元素 |
|
<AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </XXX> <CCC> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </CCC> <CCC> <BBB> <BBB> <BBB/> </BBB> </BBB> </CCC> </AAA>
|
|
/*/*/*/BBB |
|
选择所有的有3个祖先元素的BBB元素 |
|
<AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </XXX> <CCC> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </CCC> <CCC> <BBB> <BBB> <BBB/> </BBB> </BBB> </CCC> </AAA>
|
|
//* |
|
选择所有元素 |
|
<AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </XXX> <CCC> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </CCC> <CCC> <BBB> <BBB> <BBB/> </BBB> </BBB> </CCC> </AAA>
|