Before :

After using :

Code :
JavaScript
prettyPrintXML = function(data){ var formatted = ''; var reg = /(>)(<)(\/*)/g; data = data.replace(reg, '$1\r\n$2$3'); var pad = 0; jQuery.each(data.split('\r\n'), function(index, node) { var indent = 0; try { if (node.match(/^<BINVAL>/)) { node = '<BINVAL>{binary data}</BINVAL>'; indent = 0; } else if (node.match(/^<password>/)) { node = '<password>{hidden}</password>'; indent = 0; } else if (node.match( /.+<\/\w[^>]*>$/ ) || node.match(/^<\w[^>].+\/>/)) { indent = 0; } else if (node.match( /^<\/\w/ )) { if (pad != 0) { pad -= 1; } } else if (node.match( /^<\w[^>]*[^\/]>.*$/ ) || node.match(/^<\w[^>]*>/)) { indent = 1; } else { indent = 0; } var padding = ''; for (var i = 0; i < pad; i++) { padding += '\t'; } formatted += padding + node + '\r\n'; pad += indent; } catch(e) { return data; } return true; }); return formatted; };