Я желаю записать данные из CSV в файл XML. Пока все работает, за исключением того, что результат не на 100% правильный.
Вот выдержка из моего файла XML. Проблема в том, что список (ListValues) закрывается до того, как отдельные элементы перечислены.
<ListValues/>
<ListValue>
<ListValueName>
<![CDATA[XYZ]]>
</ListValueName>
<PClassName/>
<PListName/>
<PListValName/>
</ListValue>
Вот мой JS (узел js с xmlbuilder-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); }
});
Что мне нужно сделать, чтобы закрыть первый список по содержанию? Я не понимаю ... спасибо!