Hola, bueno soy nuevo aqui y pues para empezar quiero presentarme ^^ mi nombre es Rene Emmanuel Zamorano Flores o Final 2.0 xD pues bien como diseñador web quise empezar a implementar nuevas funcionalidades a mis paginas web, pues bien actualmente me encuentro haciendo un pequeño script que recorra todos los elementos (nodos) del siguiente documento XML..
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html SYSTEM "file:/C:/Archivos%20de%20programa/VertrigoServ/www/pruevas_ajax/XML/sample.dtd"> <?xml-stylesheet type="text/xsl" href="sample.xsl"?> <html> <seccion> <titulo>Titulo de ejemplo</titulo> <subtitulo>subtitulo ejemplo</subtitulo> <contenido>aki va el contenido y su imagen ke es puedes ver la url del y mas texto</contenido> </seccion> <seccion> <titulo>otro titulo de seccion</titulo> <subtitulo>otro subtitulo</subtitulo> <contenido>link</contenido> </seccion> </html> Lo que pretendo hacer es una pequeña funcion recursiva que recorra el arbol que es el siguiente: html ______________________|______________________ | | seccion seccion _______|_________ ____________|____________ | | | | | | titulo subtitulo contenido titulo subtitulo contenido La idea aqui es usar una funcion recursiva que analize el nodo actual y si este tiene hijos se vuelva a llamar para analizar los hijos cuando acabe con ellos deveria regresar esta es la funcion... ########## Funcion Analizar XML ############################################ function analizarXML(_nodo){//este argumento que le pasamos equivale a la propiedad .documentElement del archivo XML previamente cargado //si escrivieramos _nodo.nodeName nos devolveria html (ya lo comprobe ^^) if(_nodo.nodeType == 1 && _nodo.hasChildNodes){//si el nodo es de clase elemento y tiene hijos var _hijos = _nodo.childNodes;//creamos una instancia de la coleccion de hijos... for(i=0; i < _hijos.length;i++){//este bucle repite la funcion para cada hijo analizarXML(_hijos[i])//llamamos al primer elemento de la coleccion tambien funciona con _hijos.item(i) } } } En teoria esta funcion deveria de funcionar revisar si el nodo es tipo ELEMENT_NODE y si tiene hijos... despues con el bucle se llamaria a la funcion pero con un nuevo nodo(es decir el primer hijo para la primera vuelta el segundo hijo para la segunda etc etc) asi adentrandose en el arbol y terminando la funcion cuando no encuentre mas hijos ... pero aki esta lo curioso que no lo hace en su lugar se llama asi misma chorrocientas mil veces... y me traba el explorador... (asi que cuidado si quieren probarla...) la verdad es que ya estoy desesperado no estoy muy familiarizado con JS y la verdad no se el porque de este error, algun fallo en la sintaxis deje pasar algo no se... espero me puedan ayudar...por cierto de momento todo esto solo funciona en IE aun no he echo la version para el Zorrito hasta que aya solucionado esto ... ya que como sabran mozilla interpreta de un modo un poco diferente XML (toma los espacios como hijos y hay que quitar estos... para que no aya problema he oido de un metodo normalize pero no se si sea para eso o que tan compatible sea...) Bueno pues es todo... disculpen si me extendi mucho con la explicacion pero queria dejar claro mi punto (espero no acavar confundiendo mas...) y pues de antemano les doy a todos las gracias... y pues espero que mi estancia en esta lista sea buena tanto ayudando como resiviendo ayuda que si no nos ayudamos entre nosotrso quien lo hara? xD Saludos!!! ATT Final 2.0 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070709/74e64172/attachment.html _______________________________________________ javaEScript mailing list javaEScript@scriptia.net http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net