探索完等式操作符之后,接下来你将学习更多的关于关系操作符的知识。关系操作符定义节点之间的关系(元素的路径)。因此没有必要总是使用直接的路径。以路径表示的元素可以用另外一种相对于其“上级”的关系而不是作为父节点的子节点来定义。
节点的快捷菜单有如下关系操作符。
图:RanoreXPath Editor可用的关系操作符
以下例子描述怎样运用关系操作符脱离直接的方法产生的路径。例如,如果你想指向任何含有文本“Amazon”的单元格的表格行。运用一般、直接的方法构建路径是无法做到的。我们从一个指向特定单元格的路径开始:
/ form [ @controlname =’MainForm ’]/ container / container [ @caption =’’ and @controltypename =’ SplitterPanel ’and @instance =’0’]/ container / container [ @caption =’’ and @controltypename =’ SplitterPanel ’ and @instance =’1’]/ table / row / cell [ @text =’Amazon ’]
我们现在可以用关系操作符“parent”移回cell的父元素。父元素是一个row,因而我们得手动地添加一个新的层——row适配器。
/form[@controlname=’MainForm’]/container/container[@caption=” and @controltypename=’SplitterPanel’ and @instance=’0′]/container/container[@caption=” and @controltypename=’SplitterPanel’ and @instance=’1′]/table/row/cell[@text=’Amazon’]/row
我们打开高级RanoreXPath Editor,然后选择Axis的次级菜单的关系操作符parent。
图:当前选中节点定义的关系操作符的快捷菜单
这条路径首先描述了含有文本“Aamazon”的单元格的路径,然后上移一层到这个单元格的父元素——一行。点击Highlight按钮高亮显示元素可得下图。
图:从新建的路径高亮显示元素