Ruby Savon:如何在SOAP请求的散列体中指定自定义XML?

Ruby Savon:如何在SOAP请求的散列体中指定自定义XML?,ruby,soap,savon,Ruby,Soap,Savon,在SOAP请求中,我需要指定具有不同值的重复键,如下所示: soap.body = {:query => { :fields => { :string => 'Email', :string => 'FirstName', :string => 'LastName' } } 使用此哈希,请求将由以下内容组成: <query><fields><string>LastN

在SOAP请求中,我需要指定具有不同值的重复键,如下所示:

soap.body = {:query => {
    :fields => {
        :string => 'Email',
        :string => 'FirstName',
        :string => 'LastName'
    }
}
使用此哈希,请求将由以下内容组成:

<query><fields><string>LastName</string></fields></query>
LastName
最后一个:字符串对。因此,如果我提出:

soap.body = {:query => {
    :fields => "<string>Email</string>FirstName<string></string>LastName<string></string>"
}
soap.body={:query=>{
:fields=>“EmailFirstNameLastName”
}
这将导致:

<fields>&lt;string&gt;Email&lt;/string&gt;&lt;string&gt;FirstName&lt;/string&gt;&lt;string&gt;LastName&lt;/string&gt;</fields>
stringEmail/stringfirstname/stringlastname/string
有没有办法把这个做成杂烩

<query><fields><string>Email</string><string>FirstName</string><string>LastName</string></fields></query>
EmailFirstNameLastName

注意:我使用的是Ruby 1.8.7。

您的第一个代码无法工作,这不是Savon的错,哈希中的重复键会被简单地覆盖。您尝试过数组吗

soap.body = {
  :query => {
    :fields => {:string => ['Email', 'FirstName', 'LastName'],
  }
}

还请检查此项:

您的第一个代码无法工作,这不是Savon的错,哈希中的重复键会被简单地覆盖。您是否尝试使用数组

soap.body = {
  :query => {
    :fields => {:string => ['Email', 'FirstName', 'LastName'],
  }
}

还请检查以下内容:

是的!这就是我刚才想到的:)感谢您的快速响应!是的!这就是我刚才想到的:)感谢您的快速响应!