var XmlUtil = function() {
	return {
		toString: function(doc){
			var xml = "";
			var tab = "";
			function buildXml(elem){
				if (elem.nodeType == 1) {
					xml += tab + "&lt;" + elem.nodeName;
					var attrs = elem.attributes;
					for (var ia = 0; ia < attrs.length; ia++) {
						var attr = attrs[ia];
						xml += " " + attr.name + "=\"" + attr.value + "\"";
					}
					xml += "&gt;\n";
					if (elem.firstChild != null) {
						tab += "   ";
						buildXml(elem.firstChild);
					}
					tab = tab.substr(0, tab.length - 3);
					xml += tab + "&lt;/" + elem.nodeName + "&gt;\n";
					if (elem.nextSibling != null) {
						buildXml(elem.nextSibling);
					}
				}
				else {
					xml += elem.data;
				}
			}
			buildXml(doc.firstChild);
			return xml;
		}
	}
}();