2009-12-15 90 views
0

有沒有一種方法可以將一塊html加載到一個Hpricot :: Doc對象中?加載一個html塊的hpricot元素

我想從頁面解析自定義標記中的各種html塊。

所以,如果我有:

<foo> 
    <b>here is some stuff</b> 
    <table> 
    <tr> 
     <td>one</td> 
     <td>two</td> 
    </tr> 
    <tr> 
     <td>three</td> 
     <td><four</td> 
    </tr> 
    </table> 
</foo> 

我希望能夠得到foo和它是一個角度來說,Hpricot ::文檔對象中的內容,因爲我會需要做一些額外的處理,並最終交換( ),以便foo及其所有子項在文檔中被替換。

我知道我可以迭代foo的孩子,但我希望有一種方法可以在一個塊中抓住它,以保持乾淨。此外,可能有也可能沒有屬性。將會有很多項目,每個都有一大塊HTML,但是沒有foo項目會包含另一個foo項目。

這是可能的嗎? 最後,我開始使用Hpricot,但如果它能起作用,我可以向Nokogiri開放。

回答

1

我不清楚你有什麼問題。

您可以通過任何你喜歡的方式將hpricot的html傳遞給你。

Readme

doc = Hpricot("<p>A simple <b>test</b> string.</p><foo>foo content</foo>") 

您可以搜索foo和交換它

doc.search("//foo").first.swap "<blink>not foo</blink>"