2009-12-15 2 views
0

Есть ли способ загрузить кусок html в объект Hpricot :: Doc?Загрузка элемента hpricot с фрагментом html

Я пытаюсь разобрать различные куски 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 :: Doc, потому что я собираюсь нужно сделать некоторую дополнительную обработку и в конечном итоге поменять (), так что foo и все его дети заменяются в документе.

Я знаю, что могу перебирать детей из foo, но я надеялся, что есть способ собрать все в одном куске, чтобы все было в порядке. Кроме того, могут иметь или не иметь атрибуты. Будет много элементов, каждый с куском HTML, но никакой элемент foo не будет содержать другой элемент foo.

Возможно ли это? Наконец, я начал с Hpricot, но я открыт для Нокигири, если это изменит ситуацию.

ответ

1

Я не понимаю, с чем вы столкнулись.

Вы можете передать hpricot свой html любым удобным вам способом.

От Readme

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

Вы можете искать обув и поменять его

doc.search("//foo").first.swap "<blink>not foo</blink>" 
Смежные вопросы