我正在使用node-soap有了服务,一切正常,但我需要发送一个整数数组,我发现我只能发送第一个,因为我找不到构建 JS 对象来表示该数组的正确方法。
我一直在看similar questions但我找不到问题的答案。
我需要生成一个如下所示的 XML 属性:
<ns1:ArrayOfInts>
<!--Zero or more repetitions:-->
<arr:int>2904</arr:int>
<arr:int>3089</arr:int>
<arr:int>4531</arr:int>
</ns1:ArrayOfInts>
通过传递包含数组的对象:
soapObject = {
somefields,
"ns1:ArrayOfInts": {
Something goes here
},
};
知道如何创建 JS 对象吗?
最佳答案
我遇到了同样的问题,并使用 $xml
属性将原始 XML 添加到请求中,并使用 attributes
设置 arr
命名空间:
var fields = [2904, 3089, 4531];
soapObject.arrayOfInts = {
attributes: {
'xmlns:arr': 'http://schemas.microsoft.com/2003/10/Serialization/Arrays'
},
$xml: fields.map(function(value) {
return '<arr:int>' + value + '</arr:int>';
}).join('')
};
此代码将生成以下请求:
<ns1:arrayOfInts xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<arr:int>2904</arr:int>
<arr:int>3089</arr:int>
<arr:int>4531</arr:int>
</ns1:arrayOfInts>
关于javascript - 使用 node-soap 传递整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35034357/