I want to convert this string to xml format.
Before that, it seems that I need to put this 'string' in an 'Object' and convert it to 'JSON format'. (I think)
My string is
"oTest^A1^BB:a1bb,oTest^A2^BB:a1cc,oTest^A1^CC:a2bb,oTest^A2^CC:a2cc"
And JSON format is
{
"oTest": {
"A1": {
"BB": "a1bb",
"CC": "a1cc"
},
"A2": {
"BB": "a2bb",
"CC": "a2cc"
}
}
}
And Finally I want
<oTest>
<A1>
<BB>a1bb</BB>
<CC>a1cc</CC>
</A1>
<A2>
<BB>a2bb</BB>
<CC>a2cc</CC>
</A2>
</oTest>
this XML format string.
(Is it possible to convert to XML directly without converting to JSON?)
I tried to put my string into 'Object' and failed to get a duplicate value.
Please ECMAscript 5 version..
I tried this
function fn_str2obj2Json(sStr)
{
var objChild1 = {};
var objChild2 = {};
var objRtn = {};
var sStr = "oTest^A1^BB:a1bb,oTest^A2^BB:a1cc,oTest^A1^CC:a2bb,oTest^A2^CC:a2cc";
var arrStr = sStr.split(',');
for (var i = 0; i < arrStr.length; i++) {
var arrSpe = arrStr[i].split('^');
var sLineName = arrSpe[0];
var sTankName = arrSpe[1];
var sItemName = arrSpe[2].split(':')[0];
var sValue = arrSpe[2].split(':')[1];
objChild2["" + sItemName + ""] = sValue;
objChild1["" + sTankName + ""] = objChild2;
objRtn["" + sLineName + ""] = objChild1;
//$.extend(objChild1, objChild2);
//objChild1 = {};
//objChild2 = {};
}
var sJsonVal = JSON.stringify(objRtn, null, 2);
//var sXmlVal = x2js.json2xml_str($.parseJSON(sJsonVal));
objRtn = {};
}