javascript - 使用 node-soap 传递整数数组

标签 javascript arrays node.js soap node-soap

我正在使用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/

相关文章:

javascript - 在 Node 中使用 lua 脚本扫描按键

node.js - Nodejs是否支持运行时依赖?

javascript - 如何始终将数字四舍五入到 Javascript 中最接近的一分钱

javascript - 有没有办法通过网页/JavaScript 检查是否安装了谷歌浏览器(和默认浏览器),而无需在客户端安装任何东西?

c++ - 编译时通过索引访问类模板的成员

java - 在 Java 中存储三个值的数组

javascript - 浏览一个表并在 javascript 中将其共享到 2 个表上

javascript - 使用 Javascript 和 jQuery 顺序加载 fadeIn 效果

arrays - 为 'Array#fill' 提供 block 的实际优势

node.js - 在 React 应用程序中的多个输入文件上运行 ffmpeg (WASM/NodeJS)