这两个Xpath表达式之间的区别是什么?
$z!="actors"
and
not($z="actors")
非常感谢!
答案 0 :(得分:2)
这在the XPath specification中详细说明:
注意:如果
$x
绑定到节点集,那么$x="foo"
与not($x!="foo")
并不相同:如果和$x
,则前者为真仅当foo
中的某些节点具有字符串值$x
时;当且仅当foo
中的所有节点都具有字符串值=
时,后者才是真的。
基本上,所有一般比较运算符!=
,<
,<=
,>
,>=
和X op Y
都是隐式存在量化的他们的参数 - $z != "actors"
如果 X和Y中的任何一对满足条件,则为真。
$z
表示$z
中有一个节点,其值不是&#34; actor&#34; (并且not($z = "actors")
中可能还有其他节点做具有值&#34; actors&#34;如果其中任何一个具有不同的值,则测试仍然为真) ,而
$z
表示不 DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]`
中有一个节点,其值是&#34;演员&#34;。