CSV转换为XML-xmlBuilder-创建XML列表时出现问题

时间:2019-03-18 19:23:40

标签: node.js xml-builder

我希望将数据从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); }
            });

要根据内容关闭第一个列表,该怎么办?我不明白...谢谢!

0 个答案:

没有答案