rexml create a tag with literal characters

O

Onno Faber

I'm having a problem finding out how to parse literal characters into a
new tag using rexml. I'm creating an excel xml document using rexml:
xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"

In the document, I'm creating a "Data" tag, and parsing the content of
the variable "content_line" in it:
xml.Data content_line, 'ss:Type' => 'String'

The thing is that the data in "content_line" contains simple tags like
<u></u> and <b></b>. I want to preserve this, as excel can read these
tags out and format the document. However, the output is as follows:
&lt;u&gt;

Is there any way I can prevent this encoding from happening? So far I
was not able to find the answer.

Thank you, Onno
 
R

Robert Klemme

2008/10/22 Onno Faber said:
I'm having a problem finding out how to parse literal characters into a
new tag using rexml. I'm creating an excel xml document using rexml:
xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"

In the document, I'm creating a "Data" tag, and parsing the content of
the variable "content_line" in it:
xml.Data content_line, 'ss:Type' => 'String'

The thing is that the data in "content_line" contains simple tags like
<u></u> and <b></b>. I want to preserve this, as excel can read these
tags out and format the document. However, the output is as follows:
&lt;u&gt;

Is there any way I can prevent this encoding from happening? So far I
was not able to find the answer.

XML parse the string yourself and add those nodes to the document. Example:

require 'rexml/document'

# create the doc
master = REXML::Document.new("<root/>")
puts master

# find the node - either way
root = master[1]
root = master.elements['//root']

# parse the sub tree
sub = REXML::Document.new "<some>test data</some>"

# add the subtree
root.add sub

# see what we got
puts master

Kind regards

robert
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,818
Latest member
Brigette36

Latest Threads

Top