|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Apparently there was an overhaul of REXML formatting between Ruby 1.8.4
and 1.8.6. The new formatting of XML that I'm generating with REXML is not being consumed correctly by the consumer anymore. Elements containing values were written out like this in 1.8.4: <concurrency>1008</concurrency> Now they are written out like this: <concurrency> 1008 </concurrency> How can I get the old behavior back? I see some mention of formatters - so any hints on a good reference for how to use the formatters would be welcome. Thanks, Wes -- Posted via http://www.ruby-forum.com/. |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
(I see now there's been a lot of discussion about this ;])
SOLUTION: I changed the following method (where @document is a XML doc. created by REXML): def write() File.open("#{@file_path}", 'w') do |f| @document.write(f, 0) end end to: def write() formatter = REXML::Formatters: efault.newFile.open("#{@file_path}", 'w') do |f| formatter.write(@document, f) end end after making sure to require 'rexml/formatters/default' and I'm back in business. I can imagine that a lot of people have run into this, and given that we're probably generating XML to communicate information to another system, I'm sure it has spawned some consternation. Backwards compatibility can be a tricky thing .Hope this s, Wes -- Posted via http://www.ruby-forum.com/. |
|
![]() |
| Outils de la discussion | |
|
|