0
从Ruby中的XML文档生成查询字符串(url params)的最佳选择是什么?xml查询字符串
xml_string = <abc><session>1234</session><description>some_description</description></abc>
query_string = # I want here "?abc=session......."
从Ruby中的XML文档生成查询字符串(url params)的最佳选择是什么?xml查询字符串
xml_string = <abc><session>1234</session><description>some_description</description></abc>
query_string = # I want here "?abc=session......."
xml_string = "<abc><session>1234</session><description>some_description</description></abc>"
result = "?"+Hash.from_xml(xml_string).to_query
XmlSimple是一个很好的宝石。
require 'rubygems'
require 'xmlsimple'
data = XmlSimple.xml_in(xml_string)
url_params = xml_to_url_params(data, "abc")
def xml_to_url_params(xml_data, root)
elements = []
data[root].each do |item|
item.each do |name, value|
elements << "#{CGI::escape(name)}=#{CGI::escape(value)}"
end
end
elements.join("&")
end
ps。没有测试过这个代码,所以可能会有bug;)
不应该是'?session = 1234&description = some_description'? URL参数是平坦的,例如,只有一个级别,而你的XML有两个级别。 – gnab 2011-03-10 12:56:36
你使用rails或active_support? – tokland 2011-03-10 13:11:20