xml2json从数组中返回1个对象
问题描述:
我在nodeJs中使用xml2json库。我有XML:xml2json从数组中返回1个对象
<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"]);
});
但结果解析后,我只有一个对象在乔布斯阵列
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"
}
]
}
+0
非常感谢!我会在未来尝试! –
是的,你说得对,我用xml2js,只是我尝试了很多图书馆今天忘了删除它的例子。我喜欢像结果一样使用它的方式[“SchedulingModel”] [“Jobs”] [0] [“Job”]。就这样,我收到了一系列的工作。但任何方式非常感谢你! –