Ruby on Rails Sunday, October 31, 2010

David,

Just to add some context, what you experienced pretty much applies to
all lanuages that offer access to xml, and the reason is the W3C XML
specification requires this behavior. When any XML parser reads the
XML, CDATA sections are not preserved. The text property returns the
text node of an element and if the element happens to have a CDATA
section, then the text part if it is returned along with any other
text content of the element.


On Oct 31, 4:09 pm, David Kahn <d...@structuralartistry.com> wrote:
> SOLVED: Guess posting this got me more curious and I figured it out:
>
> If I ask for
> my_file.xpath("//EMBEDDED_FILE/DOCUMENT").text
>
> Nokogiri automatically takes the content within the cdata element within the
> DOCUMENT node and returns it to me without the cdata. Nice. So just a case
> of making things harder for myself.
>
> On Sun, Oct 31, 2010 at 4:59 PM, David Kahn <d...@structuralartistry.com>wrote:
>
>
>
> > This is an extension of my last post (problems with REXML) which has me
> > looking to Nokogiri again. The reason I am not using Nokogiri is I can not
> > seem to find a way to get CDATA out of a Nokogiri document.
>
> > First, can you tell me if I am loading my document correctly, because when
> > I call my_document.to_xml, I only get one line back:
>
> > (rdb:1) test_file = Nokogiri::XML(mismo_xml_file)
> > #<Nokogiri::XML::Document:0x5dd22 name="document">
> > (rdb:1) test_file.to_xml
> > "<?xml version=\"1.0\"?>\n"
>
> > So maybe this is the first step and if I get the full doc to load, my cdata
> > will be there?!!
>
> > Alternatively, if you have a code snippet of loading a doc and successfully
> > getting CDATA out, that would be a great help!
>
> > Thanks in advance,
>
> > David

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment