我是Ruby的新手 - 我有一个我需要点击的SOAP Web服务,可以获取任意数量的汽车细节 - 我还没有决定用户如何输入细节 - 可能来自屏幕 - 可能是从他们上传的文件等
我正在设计这个,所以无论输入方法是什么都很容易插入。
为了建立对Web服务的请求以进行测试,我执行以下操作:
car = { 'abc:Id' => '1', 'abc:ModelNumber' => 18, 'abc:ES' => 3.0, 'abc:ND' => 4 }
cars= {'mun:Car' => [car] }
所以目前我已经创建了一个汽车类,如下所示 - 注意ES是引擎大小,ND是门的数量 - ModelNumber和Id也是按照请求期望编写的 - 而abc是我需要添加到的特定命名空间参数。
class Car
def initialize(id, modelNumber, engineSize, noDoors)
# Instance variables
@id = id
@modelNumber = modelNumber
@engineSize = engineSize
@noDoors = noDoors
end
我需要更改的值是Id,型号等。我的问题是我如何创建一个新的Coordinate类然后创建一个for循环说并建立一个请求,例如10 Cars保持格式请求,因为我需要它。所以我在min的XML请求看起来像:
<abc:Coordinate>
<abc:Id>1</mun:Id>
<abc:ModelNumber>18</abc:ModelNumber>
<abc:NS>3.0</abc:X>
<abc:ND>4</abc:Y>
</abc:Coordinate>
但实际上我想传递多个号码或汽车,所以XMl的Sample部分看起来像:
<abc:Coordinate>
<abc:Id>1</mun:Id>
<abc:ModelNumber>18</abc:ModelNumber>
<abc:NS>3.0</abc:X>
<abc:ND>4</abc:Y>
</abc:Coordinate>
<abc:Coordinate>
<abc:Id>2</mun:Id>
<abc:ModelNumber>19</abc:ModelNumber>
<abc:NS>3.5</abc:X>
<abc:ND>3</abc:Y>
</abc:Coordinate>
<abc:Coordinate>
<abc:Id>3</mun:Id>
<abc:ModelNumber>20</abc:ModelNumber>
<abc:NS>4.0</abc:X>
<abc:ND>5</abc:Y>
</abc:Coordinate>
Ruby使用我创建的Car类的最佳方法是什么,但是根据需要构建XML?