使用nokogiri自定义XML标记

时间:2014-03-14 16:03:14

标签: ruby-on-rails xml nokogiri

我正在使用Nokogiri的XML Builder构建xml文档。我有一个名为

的标签
<InstAmt>

我希望它是

<InstdAmt Ccy="Eur">

我需要添加/配置什么来实现这一目标?我试着看Nokogiri的文档,但它只讨论类和id等属性,而不是我想要的。

构建器的相关部分如下所示:

            xml.PmtId{
              xml.EndToEndId "value"
              xml.InstdAmt "value"
              xml.ChrgBr "value"
            }

任何帮助都将非常感谢。

1 个答案:

答案 0 :(得分:1)

如果将哈希传递给创建标记的方法,它将用于创建属性:

builder = Nokogiri::XML::Builder.new do |xml|
xml.PmtId{
  xml.EndToEndId "value"
  xml.InstdAmt "value", :Ccd => 'Eur'
  xml.ChrgBr "value"
}
end

puts builder.to_xml

产生

<?xml version="1.0"?>
<PmtId>
  <EndToEndId>value</EndToEndId>
  <InstdAmt Ccd="Eur">value</InstdAmt>
  <ChrgBr>value</ChrgBr>
</PmtId>
相关问题