私はそのような機能を持っています:
def add_auth_fields
xml = Builder::XmlMarkup.new(:target => '')
xml.instruct! :xml
xml.inquiry do |inquiry|
inquiry.authentication do |auth|
auth.username USERNAME
auth.password PASSWORD
end
end
xml
end
xml.inquiry
後でノードにアクセスして、そのノード内にデータを追加するにはどうすればよいですか?
xml.inquiry do |inquiry|
もう一度呼び出すと、xmlに別のノードが追加されるだけです。
これは、fooの値を変更したい別の例ですが、代わりに、別のfooノードをxmlに追加しています。
[195] pry(main)> xml_markup = Builder::XmlMarkup.new
=> <pretty_inspect/>
[196] pry(main)> xml_markup.foo 'bar'
=> "<pretty_inspect/><foo>bar</foo>"
[197] pry(main)> xml_markup.foo 'test'
=> "<pretty_inspect/><foo>bar</foo><foo>test</foo>"