javascript - xml2json 从数组返回 1 个对象

标签 javascript json node.js xml xml-parsing

我在nodeJs中使用xml2json库。我有 xml:

<SchedulingModel >
  <Jobs> 
    <Job Id="1">
      <Operations>
      </Operations>
    </Job>
  <Job Id="2">
      <Operations>
      </Operations>
    </Job>
  <Job Id="3">
      <Operations>
      </Operations>
    </Job>
  <Job Id="4">
      <Operations>
      </Operations>
    </Job>
 <Job Id="5">
      <Operations>
      </Operations>
    </Job>
  </Jobs>
</SchedulingModel>

我正在尝试解析此 xml:

const parser = new xml2js.Parser();
parser.parseString(plannerXML , (err, result) => {
      console.log(result["SchedulingModel"]["Jobs"]);
});

但是在解析结果之后,我在Jobs数组中只有一个对象

console.log(result);

{ SchedulingModel: 
    Jobs: [ [Object] ] 
}

谁能说一下哪里出了问题吗? 我需要此 xml 中的所有对象。

最佳答案

我通常使用camaro用于从 xml 到 json 的转换,轻松更改所需的结果。

您可以尝试使用以下示例(例如,向操作添加一些文本):

const xml = '<SchedulingModel><Jobs><Job Id="1"><Operations>a</Operations></Job><Job Id="2"><Operations>b</Operations></Job><Job Id="3"><Operations>c</Operations></Job><Job Id="4"><Operations>d</Operations></Job><Job Id="5"><Operations>e</Operations></Job></Jobs></SchedulingModel>'

const temp = {
    SchedulingModel: ['/SchedulingModel/Jobs/Job', {
        Id: '@Id',
        Operations: 'Operations'
    }]
}

const transform = require('camaro')
const results = transform(xml, temp)

console.log(JSON.stringify(results, null, 2))

回应:

{
    "SchedulingModel": [
        {
            "Id": "1",
            "Operations": "a"
        },
        {
            "Id": "2",
            "Operations": "b"
        },
        {
            "Id": "3",
            "Operations": "c"
        },
        {
            "Id": "4",
            "Operations": "d"
        },
        {
            "Id": "5",
            "Operations": "e"
        }
    ]
}

关于javascript - xml2json 从数组返回 1 个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45939384/

相关文章:

javascript - 请解释这个javascript结构

javascript - Firebug 中的 'iterator' 函数是什么?

php - JSON:使用 Javascript 编码、解析、渲染表 > jsfiddle 示例不起作用

node.js - NodeJS 聊天室对象预期第一行

javascript - 浏览器如何或从何处获取 "sourcemapped"javascript 文件的源文件?

javascript - 使 HTML5 可拖动项目滚动页面?

javascript - 主干执行 POST 请求而不是 PUT 请求

json - 解码字符串和整数的 slice

javascript - 在本地项目文件夹中加载 JSON 时离线使用 angular 2 http

javascript - 使用可能存在或可能不存在的接口(interface)修改全局