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 は二重引用符ではなく単一引用符を追加していたため、最初に次のコードを追加する必要がありました。私はグーグル経由で次のことを見つけました:
REXML::Attribute.class_eval( %q^
def to_string
%Q[#@expanded_name="#{to_s().gsub(/"/, '"')}"]
end
^ )
また、REXML がドキュメントを再フォーマットしているという問題もあります。
これを止める方法はありますか?