未定义的方法`next_element&#39;对于#<nokogiri :: xml :: dtd:0x ....>

时间:2016-02-26 10:47:58

标签: ruby ruby-on-rails-3 nokogiri

我希望在之前我做下一个元素文本

property_doc = Nokogiri::HTML(open(my_url))

address = property_doc.xpath('//section[@class="container"]/dl/dt[contains(text(), "Address")]').next_element.text

error发生了undefined method 'next_element' for #<Nokogiri::XML::DTD:0x....>

我想在html显示下一个元素文字:

<section class="container">
<dl>
<dt>Address</dt>
<dd class="">550 Seagaze Dr<br>Oceanside CA 92054 </dd>
</dl>
</section>

1 个答案:

答案 0 :(得分:1)

property_doc.xpath('//section[@class="container"]/dl/dt[contains(text(), "Address")]')

该指令返回一个数组。只需选择第一个元素:

address = property_doc.xpath('//section[@class="container"]/dl/dt[contains(text(), "Address")]')[0].next_element.text