Xpath - 仅获取没有其他元素的节点内容

时间:2010-12-15 22:38:43

标签: xpath

我有一个div elemet:

<div>
   This is some text
   <h1>This is a title</h1>
   <div>Some other content</div>
</div>

我应该使用什么xpath表达式来仅获取没有子元素的div内容 h1div

//div[not(h1)&not(div)]

那样的东西?我无法弄清楚

4 个答案:

答案 0 :(得分:49)

要获取div使用的字符串值:

string(/div)

这是(顶部)div元素的后代的所有文本节点的串联。

选择div使用的所有文本节点后代:

/div//text()

仅获取div的直接子项的文本节点

/div/text()

答案 1 :(得分:5)

  

我应该使用什么xpath表达式   只有没有他的div内容   子元素h1div

这个XPath表达式:

/div/node()[not(self::h1|self::div)]

它会选择除divh1元素之外的每个div根元素的子元素。

答案 2 :(得分:2)

./ text()这样的表达式只会检索根元素的内容。

此致 尼丁

答案 3 :(得分:1)

您可以使用以下XPath表达式:

./div[1]/text()[1]

要测试,我使用此在线测试仪:http://xpather.com/