Bonjour,
j’ai une erreur que je ne parvient pas à expliquer, j’ai chopé ce bout
de code sur le net :
require “rexml/document”
include REXML # so that we don’t have to prefix everything with
# REXML::…
doc = REXML::Document.new File.new(“guitars.xml”)
root = doc.root
make = REXML::Element.new “make”
make.attributes[“name”] = “Gibson”
model = REXML::Element.new “model”
model.attributes[“sn”] = “99999999”
model.attributes[“year”] = “2007”
model.attributes[“country”] = “USA”
model.add_element “name”
model.elements[“name”].text = “SG”
model.add_element “price”
model.elements[“price”].text = “1250.00”
model.add_element “color”
model.elements[“color”].text = “Red”
make.add_element model
root.add_element make
-> Quand le document “guitars.xml” n’existe pas, je me prend une erreur
alors qu’il devrait se créer de lui-même :
test.rb:5:in initialize': No such file or directory - guitars.xml (Errno::ENOEN T) from test.rb:5:in
new’
from test.rb:5
-> Si je le créé a la main et qu’il reste vide , une autre erreur se
produit :
c:/ruby/lib/ruby/1.8/rexml/source.rb:153:in readline': end of file reached (EOF Error) from c:/ruby/lib/ruby/1.8/rexml/source.rb:153:in
initialize’
from c:/ruby/lib/ruby/1.8/rexml/source.rb:16:in new' from c:/ruby/lib/ruby/1.8/rexml/source.rb:16:in
create_from’
from c:/ruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:130:in
stream=' from c:/ruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:107:in
initialize
’
from c:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:8:in new' from c:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:8:in
initialize’
from c:/ruby/lib/ruby/1.8/rexml/document.rb:190:in new' from c:/ruby/lib/ruby/1.8/rexml/document.rb:190:in
build’
from c:/ruby/lib/ruby/1.8/rexml/document.rb:45:in initialize' from test.rb:5:in
new’
from test.rb:5
-> Enfin, si j’écris quelquechose à la main pour éviter de me prendre
direct une eof, voici ce qui m’est retourné :
test.rb:26: undefined method `add_element’ for nil:NilClass
(NoMethodError)
Voilà , si quelqu’un pouvait éclairer ma chandelle ca serait bien gentil,
parce que j’ai a tout prix besoin de créer un document XML pour mon
projet et je suis a deux doigts de tout faire a la main pour contourner
le problème.
Je vais aussi googlesier voir si il n’existe pas une autre librairie de
manip de xml pour ruby
D’avance merci