0

要素を明示的に定義せずに xml ビルダーを使用しようとしています。これは、必要な要素がバリアントである場合に役立ちます。

次のようなことを達成するにはどうすればよいですか?

 xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
 for col in [:customer, :name, :address, :city, :street, :postal_code]
   eval("xml.#{col.to_s.upcase}(#{self[col]})")
 end

self[col] に ' または " がある場合、このコードは明らかに機能しません。また、eval を使用しないことをお勧めします。私はすでに試しました:

xml.send(col.to_s.upcase, self[col]
4

2 に答える 2

2
xml.tag!(col.to_s_upcase, self[col])
于 2009-12-11T16:51:49.540 に答える
0
xml.tag!(element_name, element_value)
于 2009-12-11T16:47:47.173 に答える