[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: hpricot question

Peter Cooper

7/19/2007 1:33:00 PM

On 7/19/07, Ivor Paul <ivorpaul@gmail.com> wrote:
> I'm a total hpricot newbie, so this is only out of curiousity...
>
> Is the following expected behaviour?
> I found this while struggling through a nasty xml parsing bug.
>
> hstr = Hpricot('<a/><b>c</b>').to_s #or to_html
>
> returns => '<a><b>c</b></a>'
>
> I have found that using to_original_html returns '<a/><b>c</b>' as expected
> but I was wondering why you would want <a/> to wrap the other contents when
> it obviously isn't correct? Is this handy behaviour for scrapping?

Yeah, I never understand that either. But it's easily fixed:

h = Hpricot('<a/><b>c</b>', :xml => true)
h.to_s => "<a></a><b>c</b>"

I think it's because when you don't define :xml as true, then Hpricot
acts as an *HTML* processor, and therefore tries to correct bad HTML..
and somehow ends up with the badness of wrapping the empty element.

Cheers,
Peter Cooper
http://www.rubyi...