gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:50 24 4
gpt4 key购买 nike

我在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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com