如何使用Hpricot删除div中的特定内容

时间:2011-06-01 16:55:06

标签: ruby hpricot

我有以下html结构

  <div id="rn_answertext">
    <p>asdasdasdas</p>
    <p>asdasdasdas</p>
    <p>asdasdasdas</p>
    <h3>asdasdasdas</h3>
    <div id="test">Content to be excluded</div>
  </div>

我需要的是,当我搜索div id =“rn_answertext”时,我需要获取所有内容,除了div中的id = test

我目前的代码是

  result = doc.search("div#rn_answertext").inner_html

任何人都请帮忙。

2 个答案:

答案 0 :(得分:1)

首先得到你想要的div,然后找到你想删除的div:

div = (doc/"div#rn_answertext")
(div/"#test").remove
puts div.to_s

答案 1 :(得分:1)

  

div = doc.search(“// div [@ id ='rn_answertext']”)

     

div.search( '// DIV [@ ID = “测试”]')。remove.html

将为您提供除测试div之外的rn_answertext div内容。