Node.js 解析nodejs中的xml并重构回xml

Node.js 解析nodejs中的xml并重构回xml,node.js,xml,Node.js,Xml,我正在使用Nodejs从http接受xml,并将其作为xml转发到只接受xml的tcp服务器。 xml如下所示 <?xml version="1.0" encoding="UTF-8"?> <Iso8583PostXml> <MsgType>0100</MsgType> <Fields> <Field_002>5413330089020011</Field_002>

我正在使用Nodejs从http接受xml,并将其作为xml转发到只接受xml的tcp服务器。 xml如下所示

<?xml version="1.0" encoding="UTF-8"?>
 <Iso8583PostXml>
      <MsgType>0100</MsgType>
       <Fields>
       <Field_002>5413330089020011</Field_002>
       <Field_003>000000</Field_003>
       <Field_004>000000002000</Field_004>
       <Field_007>0723125622</Field_007>
       <Field_011>148893</Field_011>
       <Field_012>125622</Field_012>
       <Field_013>0723</Field_013>
       <Field_014>2512</Field_014>
       <Field_018>4111</Field_018>
       <Field_022>14111</Field_022>
       <Field_023>003</Field_023>
       <Field_025>00</Field_025>
       <Field_026>12</Field_026>
       <Field_035>5413330089020011D2512601079360805F</Field_035>
       <Field_041>3132333435363738</Field_041>
       <Field_042>465726368616E7420312030303</Field_042>
       <Field_043>4D6F6269746C6C20449204B45204B45</Field_043>
       <Field_045>0303030204E4149524F4249204B45204B45</Field_045>
       <Field_049>404</Field_049>
       <Field_123>09010001000105010103040C010001</Field_123>
    </Fields>
</Iso8583PostXml>

如何将此对象转换回xml?请提供帮助。

在将嵌套数组转换为对象和for循环中的赋值时,我已经手动构建了xml。 如果你有一个改进或有效的方法将有所帮助。 firstCaps是将第一个字母大写的函数

let xml = null;
let items = req.body['iso8583postxml']
    let fields = req.body['iso8583postxml'].fields[0]
    xml = '<?xml version="1.0" encoding="UTF-8"?>';
    xml +='<Iso8583PostXml>'
    xml += '<Msgtype>'+items['msgtype']+'</Msgtype>>'
    xml += '<Fields>'
    for (let prop in fields) {
        if (fields.hasOwnProperty(prop)) {
            xml += '<'+firstCaps(prop)+'>' + fields[prop][0] + '</'+firstCaps(prop)+'>' 

        }

    }
    xml += '</Fields>'
    xml +='</Iso8583PostXml>'
让xml=null;
let items=req.body['iso8583postxml']
let fields=req.body['iso8583postxml'].fields[0]
xml='';
xml+=''
xml+=''+项['msgtype']+'>'
xml+=''
for(让道具进入字段){
if(字段hasOwnProperty(prop)){
xml++''+字段[prop][0]+''
}
}
xml+=''
xml+=''
let xml = null;
let items = req.body['iso8583postxml']
    let fields = req.body['iso8583postxml'].fields[0]
    xml = '<?xml version="1.0" encoding="UTF-8"?>';
    xml +='<Iso8583PostXml>'
    xml += '<Msgtype>'+items['msgtype']+'</Msgtype>>'
    xml += '<Fields>'
    for (let prop in fields) {
        if (fields.hasOwnProperty(prop)) {
            xml += '<'+firstCaps(prop)+'>' + fields[prop][0] + '</'+firstCaps(prop)+'>' 

        }

    }
    xml += '</Fields>'
    xml +='</Iso8583PostXml>'