On Tue, Nov 2, 2010 at 3:22 PM, Marnen Laibow-Koser <[email protected]>wrote:
> David Kahn wrote in post #958607: > > Cant seem to find an answer to this on google: > > > > If I have this value as the text within an attribute in my xml source: > > "a2/PP00nFwWa7I8Jog7bcw==\n" > > > > When I ask Nokogiri to return it, why does it return this: > > "a2/PP00nFwWa7I8Jog7bcw== " (the last character I confirmed in the > > debugger > > as a space character). So it seems Nokogiri is converting the "\n" to a > > space. > > > > Is there a way to tell Nokogiri to return verbatim? I am dealing with > > encrypted data and this modification which it is making to the xml > > source is > > significant? > > You probably need to use the xml:space attribute in your source > document, or at least that's the impression I get from > http://msdn.microsoft.com/en-us/library/ms256097.aspx . > Thanks Marnen - that was a really good idea, I just tried it in the console and it does not seem to help for the "\n" (results below) is it possible there is some other setting which would preserve the "\n"? This is really strange to me as these characters are within a string literal.. but it actually does also surprise me about the spaces. # without the xml:space="preserve" ruby > doc_enc = "<BORROWER _SSN=\"a2/PP00nFwWa7I8Jog7bcw==\n\"></BORROWER>" => "<BORROWER _SSN=\"a2/PP00nFwWa7I8Jog7bcw==\n\"></BORROWER>" ruby > Nokogiri::XML(doc_enc) => #<Nokogiri::XML::Document:0x12ff91c name="document" children=[#<Nokogiri::XML::Element:0x12ff71e name="BORROWER" attributes=[#<Nokogiri::XML::Attr:0x12ff6d8 name="_SSN" value="a2/PP00nFwWa7I8Jog7bcw== ">]>]> ruby > nd = Nokogiri::XML(doc_enc) => #<Nokogiri::XML::Document:0x12fded2 name="document" children=[#<Nokogiri::XML::Element:0x12fdcac name="BORROWER" attributes=[#<Nokogiri::XML::Attr:0x12fdc3e name="_SSN" value="a2/PP00nFwWa7I8Jog7bcw== ">]>]> ruby > nd.xpath("BORROWER").attribute("_SSN").value => "a2/PP00nFwWa7I8Jog7bcw== " # with xml:space=\"preserve\" ruby > doc_enc = "<BORROWER xml:space=\"preserve\" _SSN=\"a2/PP00nFwWa7I8Jog7bcw==\ => "<BORROWER xml:space=\"preserve\" _SSN=\"a2/PP00nFwWa7I8Jog7bcw==\n\"></BORROWER>" ruby > Nokogiri::XML(doc_enc) => #<Nokogiri::XML::Document:0x12f7244 name="document" children=[#<Nokogiri::XML::Element:0x12f708c name="BORROWER" attributes=[#<Nokogiri::XML::Attr:0x12f705a name="space" namespace=#<Nokogiri::XML::Namespace:0x12f6f56 prefix="xml" href=" http://www.w3.org/XML/1998/namespace"> value="preserve">, #<Nokogiri::XML::Attr:0x12f7050 name="_SSN" value="a2/PP00nFwWa7I8Jog7bcw== ">]>]> ruby > nd.xpath("BORROWER").attribute("_SSN").value => "a2/PP00nFwWa7I8Jog7bcw== " ruby > > Best, > -- > Marnen Laibow-Koser > http://www.marnen.org > [email protected] > > -- > Posted via http://www.ruby-forum.com/. > > -- > 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]<rubyonrails-talk%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

