|
| Nombre: Apellidos: |
| '; ?> " /> |
| /* Esta es una función propia que crea un objeto XML-DOM el primer parametro es el archivo XML que leeremos el segundo parámetro es una cadena que será evaluada una vez que el archivo XML sea leído completamente. */ function read_xml( file, func ) { var xml_obj = null; // En el caso de IE usamos el control ActiveXObject XMLDOM if( window.ActiveXObject ){ xml_obj = new ActiveXObject("Microsoft.XMLDOM"); xml_obj.async = false; xml_obj.load( file ); } // En el caso de Firefox/Netscape usamos el método createDocument else if( document.implementation && document.implementation.createDocument ){ xml_obj = document.implementation.createDocument("","doc",null); xml_obj.load( file ); } // En el caso de Opera usamos el método createLSParser else if(document.implementation.createLSParser ){ var opj = document.implementation.createLSParser(1, null); xml_obj = opj.parseURI( file ); } // En cualquier otro caso devolvemos falso ya que no se puede hacer. else return false; // En el caso de IE u Opera evaluamos "func" // en caso de Firefox/Netscape esperamos a que se carge y evaluamos "func" if( window.ActiveXObject || window.opera ) eval( func ); else xml_obj.onload = function(){eval( func );}; }; /* Esta es una función propia que crea un objeto a partir de un línea XML Recibe como parámetro una línea XML y retorna un objeto con propiedades cada propiedad es asignada en base al nombre de cada atributo de la línea XML es decir: si recibe una línea: Devolverá un objeto que contiene .nombre = "Marco"; .apellidos = "Rizo"; */ function parse_xml_obj( Obj ){ var a = Obj.attributes.length; var expre = ''; var objret = new Object(); for( var i = 0; i < a ; i++ ){ expre+= 'objret.'+Obj.attributes.nodeName+'="'+Obj.getAttribute(Obj.attributes.nodeName)+'";'; } eval( expre ); return objret; }; function cargar_datos_personales(){ /* Efectuamos la lectura del archivo XML Cuando termine de leerse, entonces se ejecutará la función cargar_datos_personales_OK(); y como parámetro le pasamos el "xml_obj" Esto es muy importante "xml_obj" por que así se llama la variable en la función read_xml */ var xml = read_xml("datospersonales.php?idusuario=algunaid","cargar_datos_personales_OK(xml_obj);"); }; function cargar_datos_personales_OK( Obj ){ var Obj; // acá ya tenemos en la variable Obj la información necesaria. // ahora vamos a parsear el primer tag "usuario" del documento. var usuario = parse_xml_obj( Obj.getElementsByTagName('usuario')[0] ); document.getElementById('nombre').value = usuario.nombre; document.getElementById('apellidos').value = usuario.apellidos; return; }; |
| for( i = 0; i < Obj.getElementsByTagName('usuario').length; i++ ){ var usuario = parse_xml_obj( Obj.getElementsByTagName('usuario') ); // el proceso conocido :p } |