Xpath获取没有节点子内容的节点

时间:2011-07-20 22:24:36

标签: xpath

嘿伙计们不能解决这个问题。我有一个html结构如下:

<div class="review-text">
<div id="reviewerprofile">
<div id="revimg"></div>
<div id="reviewr">marc</div>
<div id="revdate">2011-07-06</div>
</div>
this is an awesome review

</div>

我想要得到的只是文本“这是一个很棒的评论”,但是每个我查询节点我也得到了孩子们的其他内容。现在使用这样的东西“.//div [@class ='review-text']”如何才能获得该文本?非常坦克

2 个答案:

答案 0 :(得分:1)

你快到了!只需在XPath末尾添加/ text()即可获取文本节点。

答案 1 :(得分:0)

XPath表达式(如// div)返回一组节点,在本例中为div元素。这些实际上是指向原始树中原始节点的指针;节点仍然连接到他们的父母,孩子,祖先和兄弟姐妹。如果您看到div元素的子元素并且不想要它们,那不是XPath处理器的错,那就是处理XPath表达式返回的结果的任何软件的错误。

您可以按建议使用/ text()来获取div元素的直接子元素。但是,这假设你确切地知道你期望在HTML页面中找到什么 - 如果“真棒”用斜体字表示,它会给你一些不同的东西。