2010-07-15 18 views
7

Ben şöyle Dokümanıma bir metin düğümü oluşturulur ve taktınız:Nokogiri'nin kaçan karakterlerden kaçınıyor mu?

#<Nokogiri::XML::Text:0x3fcce081481c "<%= stylesheet_link_tag 'style'%>">]> 

bu belgeyi kaydetmeyi deneyin:

File.open('ng.html', 'w+'){|f| f << page.to_html} 

Ben gerçek belgede bu olsun:

&lt;%= stylesheet_link_tag 'style'%&gt; 

Kaçışımın devre dışı bırakılması ve sayfamın hatalı etiketlerimle kaydedilmesinin bir yolu var mı?

Teşekkürler! Bir CDATA bölümü çözümleyicisi tarafından gözardı edilir içerdeki metni tam her şeyi beri CDATA bölümü kullanın isterseniz

" &quot; 
' &apos; 
< &lt; 
> &gt; 
& &amp; 

:

cevap

7

Sen gibi metin öğeleri bazı karakterlerden kurtulmak zorundadır.

Nokogiri örnek:

builder = Nokogiri::HTML::Builder.new do |b| 
    b.html do 
    b.head do 
     b.cdata "<%= stylesheet_link_tag 'style'%>" 
    end 
    end 
end 
builder.to_html 

Bu bozulmamış size erb etiketlerini tutmalı!

+0

Sweet! Teşekkürler fotos! – mikewilliamson

10

Belki böyle çiğ XML eklemek için "<<" method kullanmak istiyorum:

builder = Nokogiri::XML::Builder.new do |b| 
    b.html do 
    b.head do 
     b << stylesheet_link_tag 'style' 
    end 
    end 
end 
builder.to_xml 
+0

Sadece ihtiyacım olan şey teşekkürler! –

İlgili konular