rails使用builder生成xml

我想在我的网站上使用hipay。 所以我需要在动作中生成一个xml然后通过post发送到hipay网站。

我的问题是:

我怎么能用dinamically创建一个xml然后,在同一个动作中,通过post发送这个xml?

我的控制器中的示例

def action_generate_xml @xml = Builder::XmlMarkup.new() # I want generate my xml here # # # End generate xml #Now i want send My XML via post #CODE FOR SEND VIA POST end 

提前致谢

假设XML数据位于ActiveRecord对象中,则调用to_xml将为您提供该对象的xml表示forms。 您可以使用Ruby的Net:HTTP模块来处理post。

 http = Net::HTTP.new("www.thewebservicedomain.com") response = http.post("/some/path/here", your_model_object.to_xml) 

如果你想在你的控制器中生成你的XML(不是很像Rails,但你仍然可以这样做)使用builder gem:

 xml = Builder::XmlMarkup.new xml.instruct! :xml, :verison => "1.0" # Or whatever your requirements are # Consult the Builder gem docs for different ways you can build up your XML, this is just a simple example. xml.widgets do xml.widget do xml.serial_number("12345") xml.name("First Widget") xml.any_other_tag_you_need("Contents of tag") end end # And now send the request http = Net::HTTP.new("www.thewebservicedomain.com") response = http.post("/some/path/here", xml) 

第二个示例生成以下XML字符串,并将HTTP POST发送到目标服务器:

 12345First WidgetContents of tag