Ruby将单引号转换为XML中的双引号

Ric*_*ras 11 ruby xml ruby-on-rails rexml

尽管可以使用单引号或双引号定义XML属性,但我的用户正在尝试将我的软件与另一个不接受单引号属性值的软件集成.

我用户REXML来生成我的XML.

有没有办法让REXML生成双引号属性值?如果没有,有没有办法让我轻松转换它?

谢谢

Rôm*_*con 19

截至2007年2月,有一种支持的方法来确定引用字符.这些更改在2007年7月合并到Ruby源代码中,并且应该可以在1.8.6-p110之后的所有版本中使用:

require 'rexml/document'

doc = REXML::Document.new
doc.context[:attribute_quote] = :quote  # <-- Set double-quote as the attribute value delimiter

root = doc.add_element('root')
root.add_attribute('val', '123')

doc.write(STDOUT)
Run Code Online (Sandbox Code Playgroud)

运行产生:

$ ruby test.rb
<root val="123"/>
$
Run Code Online (Sandbox Code Playgroud)