Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2012, 18:07
Avatar de hackjose
hackjose
 
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Aporte Leer nodos XML profundamente

Codigo

Código Javascript:
Ver original
  1. function escabar(obj)
  2. {
  3.     var div = obj.childNodes;
  4.     var n = div.length;
  5.     var cont = "";
  6.     for(var i = 0; i < n; i++)
  7.     {
  8.         if(div[i].nodeType == 1)
  9.         {
  10.             cont += "<";
  11.             cont += div[i].nodeName.toLowerCase();
  12.             cont += " ";
  13.             attr = div[i].attributes.length;
  14.             for(var j = 0; j < attr; j++)
  15.             {
  16.                 cont += div[i].attributes[j].nodeName;
  17.                 cont += "='";
  18.                 cont += div[i].attributes[j].nodeValue;
  19.                 cont += "' ";
  20.             }
  21.            
  22.                 if(div[i].childNodes.length)
  23.                 {
  24.                 cont += ">";
  25.  
  26.                 var cont1 = escabar(div[i]);
  27.                 cont += cont1;
  28.                 cont += "</";
  29.                 cont += div[i].nodeName.toLowerCase();
  30.                 cont += ">";
  31.                 }
  32.                 else
  33.                 {
  34.                 cont += "/>";
  35.                 }
  36.         }
  37.         else if(div[i].nodeType == 3)
  38.         {
  39.             cont += div[i].data;
  40.            
  41.         }
  42.        
  43.     }
  44.     return cont;
  45.     //alert(getHtm(document.getElementById('idf')))
  46. }

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