Bu konuda birkaç şey gördüm, ama hiçbir şey şimdiye kadar işe yaramadı. Ben raylar 3 ruby 1.9.2 nokogiri kullanarak bir url üzerinden bir xml ayrıştırma. Ben NewsLineText ile ilişkili metni almak için bunu ayrıştırmak çalışıyorumnokogiri'yi kullanarak xml dosyasında cdata etiketlerini içeri almaya çalışırken
<NewsLineText>
<![CDATA[
Anna Kendrick is ''obsessed'' with 'Game of Thrones' and loves to cook, particularly creme brulee.
]]>
</NewsLineText>
Ne Karşılığında olsun
r = node.at_xpath('.//newslinetext') if node.at_xpath('.//newslinetext')
s = node.at_xpath('.//newslinetext').text if node.at_xpath('.//newslinetext')
t = node.at_xpath('.//newslinetext').content if node.at_xpath('.//newslinetext')
puts r
puts s ? if s.blank? 'NOTHING' : s
puts t ? if t.blank? 'NOTHING' : t
:
xml bir pasajı şöyle
<newslinetext></newslinetext>
NOTHING
NOTHING
Bu yüzden etiketlerimin newslinetext verilerine ulaşmak için doğru şekilde adlandırıldığını/yazıldığını biliyorum, ancak cdata metin asla gösterilmez.
Bu metni almak için nokogiri ile ne yapmam gerekir?
davanızı izlemek, ben Nokogiri html adlarını downcase ancak inanmadığını xml – pguardiario
@pguardiario: Aaron Nokogiri HTML ayrıştırıcı değil, kendi XML ayrıştırıcı kullanıyor. –
Hepiniz haklısınız. İstemeden küçük harf kullanmaya zorlayan HTML ayrıştırıcısını istemeden kullandım. Sonra XML ayrıştırıcısını kullanmaya çalıştığımda hiçbir sonuç almamıştım (çünkü zaten küçük harf kullanıyordum). Buradaki cevapları gördükten sonra, gerginliğimi fark ettim ve vaka duyarlılığına ve XML'e geçtim. Mükemmel çalışır. teşekkürler –