我正在使用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正在重新格式化文档 有办法阻止这个吗?
答案 0 :(得分:0)
关于引号:版本3.1.7.3允许您在Element上使用上下文cattr_accessor。更新日志:
http://www.germane-software.com/software/rexml/release.html(动态页面)
答案 1 :(得分:0)