xpath:previous-sibling-or-self

tod*_*dmo 4 .net xpath

我喜欢preceding-sibling-or-self我的xpath中的功能而且我正在使用../(self::*|preceding-sibling::*)它并且它正在给我Expression must evaluate to a node-set.,所以我一定做错了.

无论您使用什么上下文节点或xml是什么样的,这都是炸弹.我想在这之后使用这个功能,/所以我需要正确的语法.

xpath表达式(self::*|preceding-sibling::*)没有给出错误,因此它与我尝试使用它的xpath中的位置有关.

编辑:

我的错误实际上更基本.你甚至不能../(.|.)没有这个错误.一般来说,我想去一个节点,然后从那里查看一组节点.该错误似乎与|在斜杠后尝试使用union运算符相关/.

tod*_*dmo 5

在XPath中,如果要使用union运算符,则必须在路径的开头使用它.

(self::*|preceding-sibling::*)/Child 没关系.

如果您需要这样做Something/(self::*|preceding-sibling::*)/Child,您必须将左侧部分展开,如下所示:

(Something/self::*|Something/preceding-sibling::*)/Child