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
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net