指定元素的轴操作
1、child 选取当前节点的所有子元素
\qquad
/child::AAA 等价于/AAA
2、parent 选取当前节点的父节点
\qquad
//DDD/parent::* 获取所有节点DDD的父节点
3、descendant 选取当前节点的所有后代元素(子、孙等)
\qquad
/descendant::* 选择文档根元素的所有后代,即所有的元素被选择
4、ancestor 选取当前节点的所有先辈(父、祖父等)
\qquad
//FFF/ancestor::* 选择FFF元素的所有祖先节点
5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身
\qquad
/AAA/BBB/descendant-or-self::* 选择/AAA/BBB本身及所有后代元素
6、ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
\qquad
//FFF/ancestor-or-self::* 选择FFF元素的所有先辈以及FFF本身
7、preceding-sibling 选取当前节点之前的所有同级节点
\qquad
/AAA/XXX/preceding-sibling::* /AAA/XXX节点的所有之前同级节点
8、following-sibling 选取当前节点之后的所有同级节点
\qquad
/AAA/BBB/following-sibling::* 取/AAA/BBB节点的之后的所有同级节点
9、preceding 选取文档中当前节点的开始标签之前的所有节点
\qquad
/AAA/XXX/preceding::* 选取/AAA/XXX节点所有之前节点(除其祖先外)
10、following 选取文档中当前节点的结束标签之后的所有节点
\qquad
/AAA/BBB/following::* 选取/AAA/BBB节点后的所有节点
11、self 选取当前节点
\qquad
//CCC/self::* self选取当前节点,单独使用没有什么意思
12、attribute 选取当前节点的所有属性
\qquad
/AAA/BBB/attribute::* 选取/AAA/BBB节点的所有属性
13、namespace 选取当前节点的所有命名空间节点
\qquad
<xmml:Book xmlns:xmml="http://www.XMML.com/namespaces">
<xmml:Chapter number="1">Some text.</xmml:Chapter>
<xmml:Chapter number="2">Some more text.</xmml:Chapter>
</xmml:Book>
<!-- xmml:Book -->
14、同时指定元素属性和元素序号
\qquad 知道指定class的写法是://*[@class=‘class’]
\qquad 也已经知道选择第某个的写法是://div[n]
\qquad 那么这两者结合的写法应该是怎样的呢?比如选择class='class’的最后一个元素。
"""
请注意一定要使用括号(),因为 [] 的优先级较高。
"""
(//*[@class='class)[n]