Compte tenu de mon XML existant (test.xml):Ruby: libxml-rubis et en ajoutant nœuds frères bien formatés
<root>
<element>
<child id="1" />
<child id="2" />
<child id="3" />
</element>
</root>
Et mon code ruby:
require 'rubygems'
require 'xml'
parser = XML::Parser.file("test.xml")
doc = parser.parse
target = doc.find('/*/element')
target << child = XML::Node.new('child')
child['id'] = '4'
XML.indent_tree_output = true
doc.save(filename, :indent => true, :encoding => XML::Encoding::UTF_8)
Mon problème est que les formats la sortie comme ceci:
<root>
<element>
<child id="1" />
<child id="2" />
<child id="3" />
<child id="4" /></element>
</root>
... avec des ajouts ultérieurs qui ressemble à ceci:
<root>
<element>
<child id="1" />
<child id="2" />
<child id="3" />
<child id="4" /><child id="5" /><child id="6" /></element>
</root>
Ce que je VEUX est ceci:
<root>
<element>
<child id="1" />
<child id="2" />
<child id="3" />
<child id="4" />
<child id="5" />
<child id="6" />
</element>
</root>
... mais comment puis-je la?
oublié d'ajouter cette ligne dans ma question, mais il était là dans mon dossier d'origine et j'avais encore la question. "test.xml" est originellement créé à partir d'une autre section de mon code; J'ai juste des problèmes en ajoutant des noeuds dans un dossier existant. Rubyforge ne travaille pas pour moi non plus ... – neezer