Hello All,
I have an XML file containing this
<properties>
<property key="ABC">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
</property>
<property key="XYZ">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
</property>
</properties>
I made a code to add a new <value> tag to each <property>.
The part of code is:
require "rexml/document"
include REXML
...
...
pval = Element.new("value")
pval.add_attribute("xml:lang","fr")
pval.add_text("Description fr")
fproperty.elements << pval
fproperty is the node object
My final XML file looks like this:
<properties>
<property key="ABC">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
<value xml:lang="fr">Description fr</value></property>
<property key="XYZ">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
<value xml:lang="fr">Description fr</value></property>
</properties>
One "TAB" is inserted for each 4 spaces which were in the original file.
How to avoid this?
And how to add a CR to the new element?
Thanks for your help, I'm a very newby
···
--
Posted via http://www.ruby-forum.com/.
I think, you will have to create your own formatter - or use a
different one for output. You'll find some explanation in the REXML
documentation.
Kind regards
robert
···
2010/8/1 Charles Wel <charlemagne@welnowiec.net>:
Hello All,
I have an XML file containing this
<properties>
<property key="ABC">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
</property>
<property key="XYZ">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
</property>
</properties>
I made a code to add a new <value> tag to each <property>.
The part of code is:
require "rexml/document"
include REXML
...
...
pval = Element.new("value")
pval.add_attribute("xml:lang","fr")
pval.add_text("Description fr")
fproperty.elements << pval
fproperty is the node object
My final XML file looks like this:
<properties>
<property key="ABC">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
<value xml:lang="fr">Description fr</value></property>
<property key="XYZ">
<value xml:lang="de">Description de</value>
<value xml:lang="en">Description en</value>
<value xml:lang="fr">Description fr</value></property>
</properties>
One "TAB" is inserted for each 4 spaces which were in the original file.
How to avoid this?
And how to add a CR to the new element?
Thanks for your help, I'm a very newby
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
Robert Klemme wrote:
I think, you will have to create your own formatter - or use a
different one for output. You'll find some explanation in the REXML
documentation.
Thank you Robert for your reply.
I am willing to write my own formatter but despite I read some REXML
docs, I don't know where to begin. 
This is really my first day with ruby;
concerning REXML I'll be happy to be pointed to some samples.
In advance Thanks to All,
Charles
···
--
Posted via http://www.ruby-forum.com/\.
I hope you found it by now. If not, please see
http://www.germane-software.com/software/rexml/docs/tutorial.html
Cheers
robert
···
2010/8/1 Charles Wel <charlemagne@welnowiec.net>:
Robert Klemme wrote:
I think, you will have to create your own formatter - or use a
different one for output. You'll find some explanation in the REXML
documentation.
Thank you Robert for your reply.
I am willing to write my own formatter but despite I read some REXML
docs, I don't know where to begin. 
This is really my first day with ruby;
concerning REXML I'll be happy to be pointed to some samples.
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
Robert Klemme wrote:
I hope you found it by now. If not, please see
http://www.germane-software.com/software/rexml/docs/tutorial.html
I saw it before but I'll give it a look again.
Great thank you.
Charles
···
--
Posted via http://www.ruby-forum.com/\.
Afternoon,
You might find it just as easy to take that output and push it out to a file
and then hit it with xmlindent (http://xmlindent.sourceforge.net/) it will
do exactly what you want. No sense in re-inventing the wheel.
John
John W Higgins wrote:
Afternoon,
You might find it just as easy to take that output and push it out to a
file
and then hit it with xmlindent (http://xmlindent.sourceforge.net/\) it
will
do exactly what you want. No sense in re-inventing the wheel.
Yes John.
It seems like it will ideally fit my need.
Thanks a lot.
Charles
···
--
Posted via http://www.ruby-forum.com/\.