Je suis en train d'analyser un grand fichier XML pour obtenir tout le contenu de balise XML externe, quelque chose comme ceci:Comment utiliser SAX pour obtenir le contenu CDATA
<string name="key"><![CDATA[Hey I'm a tag with & and other characters]]></string>
pour obtenir ceci:
<![CDATA[Hey I'm a tag with & and other characters]]>
Bien que, lorsque j'utilise l'analyseur XML SAX de Nokogiri Je ne reçois que le texte sans CDATA et avec des personnages se sont échappés, comme ceci:
Hey I\'m a tag with & and other characters
Ceci est m y code:
class IDCollector < Nokogiri::XML::SAX::Document
def initialize
end
def characters string
puts string # this does not works, CDATA tag is not printed
end
def cdata_block string
puts string
puts "<![CDATA[" + string + "]]>"
end
end
Y a-t-il un moyen de le faire avec Nokogiri SAX?
Ce que vous essayez de faire n'est pas clair: lire ou générer le bloc CDATA? Vous n'obtiendrez pas 'parce que c'est un bloc, pas un tag ou un élément. '
Mon but final est de porter des tags xml avec leur contenu interne vers d'autres fichiers. Bien que, à la fois grand fichier et je dois utiliser SAX ou sinon j'ai une exception de mémoire – iGoDa