Código Javascript:
Ver original
function escabar(obj) { var div = obj.childNodes; var n = div.length; var cont = ""; for(var i = 0; i < n; i++) { if(div[i].nodeType == 1) { cont += "<"; cont += div[i].nodeName.toLowerCase(); cont += " "; attr = div[i].attributes.length; for(var j = 0; j < attr; j++) { cont += div[i].attributes[j].nodeName; cont += "='"; cont += div[i].attributes[j].nodeValue; cont += "' "; } if(div[i].childNodes.length) { cont += ">"; var cont1 = escabar(div[i]); cont += cont1; cont += "</"; cont += div[i].nodeName.toLowerCase(); cont += ">"; } else { cont += "/>"; } } else if(div[i].nodeType == 3) { cont += div[i].data; } } return cont; //alert(getHtm(document.getElementById('idf'))) }
El parametro que recibe es el nodo superior
por ejemplo
<nodo1>
texto<nodo2 parametro="valor">texto</nodo2>texto<nodo3 />
</nodo1>
entonces el parametro seria
docxml.getElementsByTagName("nodo1").item(0);
la funcion devuelve todo el contenido osea
nodos de texto, nodos elementos junto con sus parametros
Saludos