我需要使用E4x和javascript将JSON转换为XML,其中我的XML属性是从JSON key中选取的。示例: 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.keyAttrkey//data.attr;似乎不起作用。如何动态创建属性?欢迎任何意见。
发布于 2018-10-20 05:38:18
行xml.{attrib} = data.keyAttrkey//data.attr;似乎不起作用。如何动态创建属性?
将xml.{attrib}
更改为xml[attrib]
。
https://stackoverflow.com/questions/50877232
复制相似问题