我正在研究一個vim rspec插件(https://github.com/skwp/vim-rspec) - 我解析了一些rspec的html。它看起來像這樣:Hpricot:如何提取沒有其他html子元素的內部文本
doc = %{
<dl>
<dt id="example_group_1">This is the heading text</dt>
Some puts output here
</dl>
}
我能得到利用的整個內:使用
(Hpricot.parse(doc)/:dl).first/:dt
(Hpricot.parse(doc)/:dl).first.inner_html
我能得到公正的DT但我怎麼能訪問「有些將輸出放在這裏」區域?如果我使用inner_html,則有太多其他垃圾需要解析。我已經瀏覽過hpricot文檔,但沒有看到一個簡單的方法來獲取html元素的內部文本,忽略了它的html子元素。
隨着引入nokogiri這將是'Nokogiri.XML(文件,:noblanks)。.at_xpath( '/ DL /文()')的內容。帶' – Phrogz
我會建議編寫你的插件,以便它可以與Nokogiri和Hpricot一起工作。 Nokogiri已經成爲Ruby XML/HTML解析的事實標準。 –