Javascript 如何将JSON对象数组转换为有效的XML?

Javascript 如何将JSON对象数组转换为有效的XML?,javascript,node.js,Javascript,Node.js,假设我得到了一个JSON对象数组,如下所示: const cars = [ { "color": "purple", "type": "minivan", "registration": "2020-02-03", "capacity": 7 }, {

假设我得到了一个JSON对象数组,如下所示:

const cars = [
    {
        "color": "purple",
        "type": "minivan",
        "registration": "2020-02-03",
        "capacity": 7
      },
      {
        "color": "orange",
        "type": "SUV",
        "registration": "2021-05-17",
        "capacity": 4
      },
      {
        "color": "green",
        "type": "coupe",
        "registration": "2019-11-13",
        "capacity": 2
      }

];
我想将此对象转换为有效的XML。但是我在转换帮助程序包时使用开始标记作为数组索引,因此生成的XML无效

例如:(
函数json2xml
from)

函数json2xml(o,tab){ var-toXml=函数(v,name,ind){ var xml=“”; if(v instanceof数组){ 对于(var i=0,n=v.length;i

这假设JSON对象的数组都具有相同的键

let xml = "";

const prefixXML = `<?xml version="1.0" encoding="UTF-8"?>\n<cars>\n`;
const suffixXML = "\n</cars>";

const keys = Object.keys(cars[0]);

cars.forEach((car) => {
  let valueXML = keys
    .map((key) => {
      return `<${key}>${car[key]}</${key}>`;
    })
    .join("\n\t");
  xml += `
    <car>
      ${valueXML}
    </car>
  `;
});

const final = prefixXML + xml + suffixXML;

console.log(final);
let xml=”“;
常量prefixXML=`\n\n`;
常量SUFFEXXML=“\n”;
const keys=Object.keys(cars[0]);
cars.forEach((car)=>{
让valueXML=keys
.map((键)=>{
返回`${car[key]}`;
})
.join(“\n\t”);
xml+=`
${valueXML}
`;
});
const final=prefixXML+xml+suffxxml;
控制台日志(最终);
XML输出为:

<?xml version="1.0" encoding="UTF-8"?>
<cars>

    <car>
        <color>purple</color>   
    <type>minivan</type>    
    <registration>2020-02-03</registration> 
    <capacity>7</capacity>  
    </car>
  
    <car>
        <color>orange</color>   
    <type>SUV</type>    
    <registration>2021-05-17</registration> 
    <capacity>4</capacity>  
    </car>
  
    <car>
        <color>green</color>    
    <type>coupe</type>  
    <registration>2019-11-13</registration> 
    <capacity>2</capacity>  
    </car>
  
</cars> 

紫色
小型货车
2020-02-03 
7.
橙色
运动型多用途汽车
2021-05-17 
4.
绿色
轿跑车
2019-11-13 
2.

哇,太酷了。它成功了,谢谢!