首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用node-soap传递int数组

使用node-soap传递int数组
EN

Stack Overflow用户
提问于 2016-01-27 18:09:42
回答 1查看 1.5K关注 0票数 1

我正在使用带有服务的node-soap,一切正常,但是我需要发送一个int数组,并且我发现我只能发送第一个int,因为我找不到正确的方法来构建JS对象来表示这个数组。

我一直在看similar questions,但是我没有找到我的问题的答案。

我需要生成一个如下所示的XML属性:

代码语言:javascript
复制
<ns1:ArrayOfInts>
          <!--Zero or more repetitions:-->
          <arr:int>2904</arr:int>
          <arr:int>3089</arr:int>
          <arr:int>4531</arr:int>
</ns1:ArrayOfInts>

通过传递包含数组的对象:

代码语言:javascript
复制
soapObject = {
              somefields,
              "ns1:ArrayOfInts": {
                 Something goes here
              },
             };

你知道如何创建JS对象吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-02 21:50:59

我也遇到了同样的问题,我使用$xml属性将原始XML添加到请求中,并使用attributes设置arr名称空间:

代码语言:javascript
复制
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('')
};

此代码将生成以下请求:

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35034357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档