Skip to content

Instantly share code, notes, and snippets.

@willbailey
Created July 15, 2010 00:59
Show Gist options
  • Save willbailey/476350 to your computer and use it in GitHub Desktop.
Save willbailey/476350 to your computer and use it in GitHub Desktop.
var jsonToXMLString = function(data){
var carrier = DOM.create('carrier');
var convert = function(data, currentNode) {
keys(data).each(function(k) {
var v = data[k];
if (is_scalar(v)) {
currentNode.setAttribute(k, v);
} else if (hasArrayNature(v)) {
v.each(function(vv){
var node = DOM.create(k);
currentNode.appendChild(node);
convert(vv, node);
});
} else {
var node = DOM.create(k);
currentNode.appendChild(node);
convert(v, node);
}
});
};
convert(data, carrier);
return carrier.innerHTML;
};
jsonToXMLString(
{car :
{color : 'red',
model : 'fiesta',
make : 'ford',
year : '84',
part : [
{name : 'stereo',
status : 'missing'},
{name : 'bumper',
status : 'rusty'}
]
}
});
// "<car year="84" make="ford" model="fiesta" color="red"><part status="missing" name="stereo"></part><part status="rusty" name="bumper"></part></car>"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment