节点soap客户端使用相同属性的多个值创建XML

时间:2017-02-09 16:10:56

标签: node.js xml soap soap-client

我遇到Node肥皂的问题,我觉得应该很常见,但我没有在文档或搜索中找到任何内容。

我尝试生成的XML有4个参数:

  

< customerId xmlns =" http ..."> 156668500< /客户ID>
     < mdn xmlns =" http ..."> 6204462197< / MDN>
     < mdn xmlns =" http ..."> 6204462198< / MDN>
     < mdn xmlns =" http ..."> 6204462199< / MDN>

由于soap客户端只接受一个JSON对象(不确定这个部分,但我没有找到传递原始XML的方法,而且无论如何都不是最佳解决方案)我可以' t只传递相同的属性名称(mdn)3次。我尝试将它作为一个数组传递但是将每个mdn包装在它自己的单独标签中。 是否有最佳实践来实现这一目标?

2 个答案:

答案 0 :(得分:0)

我最终构建了一个字符串并将其传递给客户端输入。

var xmlString = '<customerId xmlns="http...">'+request.customerId+'</customerId>'

request.mdn.map(function (mdnValue) {
    xmlString += '<mdn xmlns="http...">'+mdnValue+'</mdn>'; 
});

var xmlObject = {$xml: xmlString};

return resolve(xmlObject);

任何人都知道更好的练习型方法吗?

答案 1 :(得分:0)

我最近遇到了这个问题,发现实际上是通过数组支持的。

{
  customerId: 156668500,
  mdn: [
    6204462197,
    6204462198,
    6204462198
  ]
}