如何使用XPath选择所有空元素

时间:2015-04-05 14:59:26

标签: xpath

假设以下标记:

<html>
  <body>
    <p>
      <strong>  </strong>
      <strong>
      </strong>
      <strong><em>Bar</em>  </strong>
      <strong><em>  </em>  </strong>
    </p>
  </body>
</html>

如何使用XPath查询获取以下元素?

<strong>  </strong>
<strong>
</strong>
<strong><em>  </em>  </strong>

对于前两种情况,我认为它会像//*[normalize-space(text()) = '' and not(node())]那样,但事实并非如此。我不知道如何抓住第三种情况。

更准确地说:我正在搜索所有仅包含空格,新行和子节点的节点。

1 个答案:

答案 0 :(得分:9)

以下XPath查询捕获所有内容:

//*[not(normalize-space())]

但不是:

<strong><em>Bar</em>  </strong>