使用E4x和javascript进行JSON到XML的转换

时间:2018-06-15 14:06:12

标签: javascript e4x

我需要使用E4x和javascript将JSON转换为XML,其中我的XML属性是从JSON键中选取的。例: var JSONstr = {“data”:{“firstName”:“ABC”,“lastName”:“XYZ”,“email”:“test@test.com”}}; 和XML输出应该是。

我的代码段如下:

var xmlProfile = new XML('<root/>');
var keyAttr = Object.keys(JSONstr.data);
var xml = convertDataToXml(dataJSON, xmlProfile, keyAttr);
 function convertDataToXml(data, xml,keyAttr)
  { var attr;
   for(key in keyAttr){
     if(data.hasOwnProperty(key)) {
      if (data[key] instanceof Array) {
        // create node
        attr = keyAttr[key];
        xml.appendChild(<{attr}/>);
        convertDataToXml(data[key], xml[attr],attr[key]);
      }
      else {
       attr = keyAttr[key];
        if (attr != undefined){
         var attrib="@"+attr;
          xml.{attrib} = data.keyAttr[key]//data.attr;
          }
         }

    }
    return xml;
  }
}

第xml行。{attrib} = data.keyAttr [key] // data.attr;似乎没有用。如何动态创建属性?欢迎任何意见。

1 个答案:

答案 0 :(得分:0)

  

第xml行。{attrib} = data.keyAttr [key] // data.attr;似乎不起作用。如何动态创建属性?

xml.{attrib}更改为xml[attrib]