我希望将数据从CSV写入XML文件。到目前为止,所有结果都可以正常工作,只是结果不是100%正确。
这是我的XML文件的摘录。问题在于列表(ListValues)在列出单个元素之前是关闭的。
<ListValues/>
<ListValue>
<ListValueName>
<![CDATA[XYZ]]>
</ListValueName>
<PClassName/>
<PListName/>
<PListValName/>
</ListValue>
这是我的JS(带有xmlbuilder-js的节点js)
.on('end', () => {
for (const key in results) {
xml.ele('Name').cdata(key).up()
.ele('Desc').up()
.ele('Label').cdata(results[key][0].NAME).up()
.ele('Prod').cdata('triItem').up()
.ele('Type').up()
.ele('ClassName').up()
.ele('ObjectName').up()
.ele('PClassName').up()
.ele('PListname').up()
.ele('ListValues');
for (let index = 0; index < results[key].length; index++) {
xml.ele('ListValue')
.ele('ListValueName').cdata(results[key][index].S_VALUE).up()
.ele('PClassName').up()
.ele('PListName').up()
.ele('PListValName').up();
}
xml.end({ pretty: true });
var xmldoc = xml.toString({ pretty: true });
fs.writeFile(__dirname + '/files/' + key + ".xml", xmldoc, function (error) {
if (error) { return console.log(error); }
});
要根据内容关闭第一个列表,该怎么办?我不明白...谢谢!