He visto varias cosas sobre esto, pero nada parece funcionar hasta el momento. Estoy analizando un xml a través de una url usando nokogiri en rieles 3 ruby 1.9.2.tratando de obtener contenido dentro de las etiquetas cdata en el archivo xml usando nokogiri
Un fragmento del XML tiene el siguiente aspecto:
<NewsLineText>
<![CDATA[
Anna Kendrick is ''obsessed'' with 'Game of Thrones' and loves to cook, particularly creme brulee.
]]>
</NewsLineText>
Estoy tratando de analizar esto para obtener el texto asociado a la NewsLineText
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
Lo que obtengo a cambio es
<newslinetext></newslinetext>
NOTHING
NOTHING
Así que sé que mis etiquetas se nombran/deletrean correctamente para obtener los datos de newsline, pero el cdata el texto nunca aparece.
¿Qué debo hacer con nokogiri para obtener este texto?
Mire su caso, creo que se nokogiri downcase nombres html pero no xml – pguardiario
@pguardiario: Aaron está utilizando analizador de HTML de Nokogiri, no su analizador XML. –
Estabas todo correcto. Estaba usando involuntariamente el analizador de HTML que me obligó a usar minúsculas. Luego, cuando traté de usar el analizador XML, no obtuve ningún resultado (porque ya estaba usando minúsculas). Después de ver las respuestas aquí, me di cuenta de mi idiotez y cambié a mayúsculas y minúsculas y XML. Funciona perfecto gracias –