Merge XML documents with Ruby

H

Harm

Dear group,

Currently I'm working with Ruby to merge several XML documents into
one. I'm using Builder to construct the 'master' XML file:

x = Builder::XmlMarkup.new:)indent => 2)
x.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
result = x.header do |xml|
some_hash.each do |key, values|
xml.company(key)
values.each do |value|
xml.department(value.to_xml)
end
end
end

However on the spot where I write 'xml.department' trouble strikes.
The 'value' already responds to the to_xml method and generates
perfectly fine XML. I'd like to insert that XML into the master file.
If I do it the way displayed above the department tag appears twice
(once from the xml.department call and once it is used as the header
tag of the department.to_xml result). Moreover the instruct tag is
inserted and all < and > characters are escaped.

Is there anyway of doing this gracefully?
Any help is greatly appreciated.

With kind regards,
Harm
 
M

Mark Thomas

Dear group,

Currently I'm working with Ruby to merge several XML documents into
one. I'm using Builder to construct the 'master' XML file:

    x = Builder::XmlMarkup.new:)indent => 2)
    x.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
    result = x.header do |xml|
      some_hash.each do |key, values|
        xml.company(key)
        values.each do |value|
          xml.department(value.to_xml)
        end
      end
    end

However on the spot where I write 'xml.department' trouble strikes.
The 'value' already responds to the to_xml method and generates
perfectly fine XML.

You didn't give us much to go on. What objects does the some_hash
contain? Do you have sample output?

-- Mark.
 

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,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top