Я использую REXML для редактирования XML-файла, но столкнулся с трудностями при форматировании.
Мой оригинальный код выглядел так:
file = File.new( destination)
doc = REXML::Document.new file
doc.elements.each("configuration/continuity2") do |element|
element.attributes["islive"] = "true"
element.attributes["pagetitle"] = "#{@client.page_title}"
element.attributes["clientname"] = "#{@client.name}"
end
doc.elements.each("configuration/continuity2/plans") do |element|
element.attributes["storebasedir"] = "#{@client.store_dir}"
end
Прежде всего мне пришлось добавить следующий код, поскольку REXML добавлял одинарные кавычки вместо двойных. Я нашел следующее через Google:
REXML::Attribute.class_eval( %q^
def to_string
%Q[#@expanded_name="#{to_s().gsub(/"/, '"')}"]
end
^ )
У меня также проблема в том, что REXML переформатирует документ.
Есть ли способы остановить это?