2010-07-10 79 views
1

我有一些看起来非常像这样的html。选择特定的使用x路径,而忽略某些节点

<p> 
<a img src="img src"> 
<strong>foo</strong> 
<strong>bar</strong> 
<strong>baz</strong> 
<strong>eek</strong> 
This is the text I want to select using xpath. 
</p> 

如何仅使用xpath选择如上所示的特定文本节点?

+0

问得好(+1)。查看我的答案,获取选择所需文本节点的简短且精确的XPath表达式。 – 2010-07-12 13:13:29

回答

0

“/ p/text()”xpath表达式将从上面的XML中选择“p”节点中的文本(发布时有问题)。

/p/text()[normalize-space()] 

这将删除字符串的尾随空格。这个xpath正好产生你想要的。

有一个在http://www.w3schools.com/xpath/

+0

其实/ p/text()也会返回'foo','bar','baz'和'eek'。试图避免这一点。 – 2010-07-11 16:19:15

+0

text()函数只应返回节点中的文本,而不是来自子节点的文本。我甚至用firefox XPath checker addon验证了这一点。有用!!!。 请验证并让我知道你是如何验证相同的。 – YoK 2010-07-11 17:09:43

+0

@Rasputin琼斯已经更新了我的答案。请检查。 – YoK 2010-08-08 14:17:09

0

我如何在有关使用XPath只有这个特定 文本元素很好的教程?

使用

/p/text()[last()] 
相关问题