XPath查找标记包含然后获取下面的span标记

时间:2015-01-09 14:17:41

标签: ruby xpath nokogiri

我是XPath的新手,并且想知道如何在此HTML代码中获取<span>标记。

我正在使用标签包含功能。我匹配正确的标记,但我不知道如何获取<span>下面的<em>标记,以便我可以获取日期:

//em[contains(text(), "Datum för upprättande:")]


<li class="clear">
  <em class="">Datum för upprättande:</em>
  <span class="">19-11-2008</span>
</li>

2 个答案:

答案 0 :(得分:1)

您可以使用following-sibling

//em[contains(text(), "Datum för upprättande:")]/following-sibling::span

答案 1 :(得分:0)

正如你所指定的Nokogiri:

require 'nokogiri'

html = '<li class="clear">
<em class="">Datum för upprättande:</em>
<span class="">19-11-2008</span>                                                                                                                                                     
</li>'  

doc = Nokogiri::HTML(html)                                                                                                                                                           
em = doc.xpath('//em[contains(text(), "Datum för upprättande:")]')                                                                                                                   
puts em[0].next_element.content # => 19-11-2008