Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XPath查询:仅选择具有唯一子节点的节点_Xpath - Fatal编程技术网

XPath查询:仅选择具有唯一子节点的节点

XPath查询:仅选择具有唯一子节点的节点,xpath,Xpath,我希望选择所有只有作为子项的: <html> .. <span> ... </span> <span> <!-- I want those ones --> <br/> </span> .. ... 如何选择这些元素?假设您指的是除br元素之外没有子元素的元素,其中br是必需的: /html/span [br and not( *[not(self::br)]

我希望选择所有只有

作为子项的

<html>
..
<span>
...
</span>
<span>     <!-- I want those ones -->
  <br/>
</span>

..
...


如何选择这些元素?

假设您指的是除
br
元素之外没有子元素的元素,其中
br
是必需的:

/html/span
    [br and not(
        *[not(self::br)]
    )]

含义:所有
span
元素至少有一个
br
子元素,并且没有其他元素作为子元素。

+1如果
br
s是必填项,则回答更正确。另外,请检查我的“仅一个
br
作为内容”谓词。@Alejandro。已经查过了。顺便说一句,可能会更有效率。