Hpricot - problem z remove

Mam plik blist.xml. Udostępniłem część jego zawartości.

Moim celem jest wycięcie całego drzewa “contact”, jeśli contact/buddy/name zawiera “gg.jabbim.pl”.

Próbowałem już czegoś takiego, jak w pliku moje_rozwiazanie.rb (jest to też część większego skryptu), ale niestety, to rozwiązanie nie działa prawidłowo, w zasadzie to nie robi nic. Nie działa, ponieważ klasa contact to Hpricot::Elem, a nie Hpricot::Elements, dla którego metoda remove zadziała.

Czy macie jakieś pomysły, jak sobie z tym poradzić?

[quote=rav]Mam plik blist.xml. Udostępniłem część jego zawartości.

Moim celem jest wycięcie całego drzewa “contact”, jeśli contact/buddy/name zawiera “gg.jabbim.pl”.

Próbowałem już czegoś takiego, jak w pliku moje_rozwiazanie.rb (jest to też część większego skryptu), ale niestety, to rozwiązanie nie działa prawidłowo, w zasadzie to nie robi nic. Nie działa, ponieważ klasa contact to Hpricot::Elem, a nie Hpricot::Elements, dla którego metoda remove zadziała.

Czy macie jakieś pomysły, jak sobie z tym poradzić?[/quote]

doc.search("//contact").collect! {|contact| contact if contact.search("//buddy/name").inner_html.include? "gg.jabbim.pl" }.compact.remove
pozdrawiam

edit: nie mieści się kod.

Dzięki wielkie :]