Hola Final, yo me armé un ejemplo con la info que pasaste, y , siguiendo el
consejo de David Arango, coloqué el "var" en el for y el script me funcionó
perfectamente en IE 6.
Te copio los ejemplos que armé para que puedas probarlos (yo saqué la parte
del AJAX y eliminé las referencias a los archivos DTD y a la hoja de XSLT).
///
*************************************************************************
/// ESTA ES LA RUTINA MODIFICADA CON VAR PARA EL FOR.
/// ESTA EN UN ARCHIVO QUE SE LLAMA "funcionXML.js"
///
*************************************************************************
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(var 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)
}
} else {
document.writeln (_nodo.text);
}
}
//// ESTA ES LA PAGINA QUE INICIA LA PRUEBA
<html>
<head>
<script src="funcionXML.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
function getObjectXML () {
//esta rutina crea un objeto XML.
var unXMLDoc;
unXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
unXMLDoc.async = false;
return unXMLDoc;
}
function llamarXML () {
var miXML = getObjectXML ();
var sXML = '';
sXML += '<?xml version="1.0" encoding="UTF-8"?>';
sXML += '<html>';
sXML += ' <seccion>';
sXML += ' <titulo>Titulo de ejemplo</titulo>';
sXML += ' <subtitulo>subtitulo ejemplo</subtitulo>';
sXML += ' <contenido>aki va el contenido y su imagen ke es
puedes ver la url del y mas texto</contenido>';
sXML += ' </seccion>';
sXML += ' <seccion>';
sXML += ' <titulo>otro titulo de seccion</titulo>';
sXML += ' <subtitulo>otro subtitulo</subtitulo>';
sXML += ' <contenido>link</contenido>';
sXML += ' </seccion>';
sXML += '</html>';
miXML.loadXML (sXML);
var _root = miXML.documentElement;
analizarXML(_root);
}
</script>
</head>
<body>
<img onclick="llamarXML ();" />
</body>
</html>
Espero te sirva, saludos!!!
El día 11/07/07, Final <[EMAIL PROTECTED]> escribió:
>
> Lo mando a llamar por medio de la siguiente funcion la cual es llamada a
> su
> ves desde un vinculo(esto solo para las pruevas)
> function cargarDoc(_documento,_XMLroot){
>
> if(ajaxObject){//Si el objeto se inicializo correctamente...
>
> ajaxObject.open('GET',_documento,true);
>
> ajaxObject.onreadystatechange = function(){
>
> if(ajaxObject.readyState == 4 && ajaxObject.status ==
> 200){
>
> _docXML = ajaxObject.responseXML;
>
> _root = _docXML.documentElement ;
>
> analizarXML(_root);
>
> }
>
> }
>
> ajaxObject.send(null);
>
> }
>
> }
>
>
> ----- Original Message -----
> From: "Juan José Montes de Oca Arbós" <[EMAIL PROTECTED]
> >
> To: "ListaJavaScript" <[email protected]>
> Sent: Wednesday, July 11, 2007 7:53 AM
> Subject: Re: [javaEScript] Recorrer Arbol XML
>
>
> Hola Final,
> ¿cómo estás haciendo la primer llamada a "analizarXML"? ¿Que objeto le
> estás pasando?
>
> Saludos!!!
>
> El día 10/07/07, Final <[EMAIL PROTECTED] > escribió:
> >
> > 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
> >
>
>
>
> --
> Juan José Montes de Oca Arbós.
>
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> http://world5.monstersgame.es/?ac=vid&vid=58044309
> http://www.montesoft.com.ar
> http://www.es-facil.com/ganar/alta?Id=64395956
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
>
> http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070711/b1562083/attachment.htm
> _______________________________________________
> javaEScript mailing list
> [email protected]
> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net
>
> _______________________________________________
> javaEScript mailing list
> [email protected]
> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net
>
--
Juan José Montes de Oca Arbós.
[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://world5.monstersgame.es/?ac=vid&vid=58044309
http://www.montesoft.com.ar
http://www.es-facil.com/ganar/alta?Id=64395956
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL:
http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070712/4824ee4b/attachment.htm
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net