Comunidad de diseño web y desarrollo en internet online

Cómo contar los nodos hijo en un XML

Citar            
MensajeEscrito el 24 Mar 2009 03:21 pm
Buenas a tod@s!!

Tengo una preguntilla que hacerles.
Resulta que me ha surgido un aspecto en la aplicación que estoy haciendo y para ello necesito contar cuántos nodos hay dentro de un xml:

<GALERIA>
<fotos titulo="DOS">
<foto1>fotos/Cartel_vertical.jpg</foto1> //CONTAR ÉSTE NODO
<foto2>fotos/IMG_1779 copia.jpg</foto2> // + ESTE NODO
<foto3>fotos/ciudad de la justicia.jpg</foto3> // + ESTE NODO
</GALERIA>

Quiero contarlos por que la estructura XML la escribo desde una pequeña aplicación hecha en PHP cuando hago upload de las imagenes que quiero. Si por ejemplo subo 3 imágenes me crea una estructura como la que veis arriba, si por el contrario subo 10 (que en mi aplicación es el máximo) pues me crea un nodo con 10 hijos.

HmMmM.. :P que lio, no se si me expliqué bien :P

Gracias de antemano!!

Por cotk

61 de clabLevel



 

safari
Citar            
MensajeEscrito el 24 Mar 2009 07:06 pm
Pues no te explicaste bien, lo quieres contar en php? porque este es el foro de AS2 :P

Código ActionScript :

tuXML.firstChild.childNodes.length

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 25 Mar 2009 09:55 am
JAJAJA, lo del PHP era para situar un poco al lector... pero parece que no lo conseguí :P
Ya uso la línea que me comentas (tuXML.firstChild.childNodes.length) pero lo que me cuenta es cada uno de los nodos que contiene la estructura xml y no lo que contiene cada uno de esos nodos, es decir:

<galeria>
<fotos titulo="galeria1"> // tuXML.firstChild.childNodes.length contaría como 1 este nodo
<foto1>fotos/uno.jpg</foto1>
<foto2>fotos/dos.jpg</foto2>
<foto3>fotos/tres.jpg</foto3>
</fotos>

<fotos titulo="galeria2"> // tuXML.firstChild.childNodes.length contaría como 1 este nodo
<foto1>fotos/uno.jpg</foto1>
<foto2>fotos/dos.jpg</foto2>
<foto3>fotos/tres.jpg</foto3>
</fotos>
</galeria>

Con lo que el resultado sería 2 nodos dentro de la estructura galería no? (corrígeme si me equivoco).
Mi intención no es contar éstos dos, sino todos los que contiene dentro:
<galeria>
<fotos titulo="galeria1">
<foto1>fotos/uno.jpg</foto1> //CONTAR ÉSTE
<foto2>fotos/dos.jpg</foto2> //CONTAR ÉSTE
<foto3>fotos/tres.jpg</foto3> //CONTAR ÉSTE
</fotos>
</galería>

Con lo que (en este caso) el nodo "Galería1" tendría 3 fotos dentro.

Ufffff q agobio no se si me he vuelto a explicar bien... :shock: Q ignorante q soy :P
GRACIAS UNA VEZ MÁS LONGEVIE!!!!

Por cotk

61 de clabLevel



 

safari
Citar            
MensajeEscrito el 25 Mar 2009 11:00 pm
En realidad lo que te queria dar a entender es que "legth" cuenta los nodos, el acceso ya depende de la estructura del XML:

Código ActionScript :

trace( tuXML.firstChild.childNodes.length )
trace( tuXML.firstChild.childNodes[0].childNodes.length )
trace( tuXML.firstChild.childNodes[0].childNodes[0].length )


Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 26 Mar 2009 02:34 pm
Yeah! ere un mostro! Muchas gracias Longevie, funciona perfect ;)

Por cotk

61 de clabLevel



 

safari
Citar            
MensajeEscrito el 03 Abr 2010 12:07 am
Hola... mira yo tengo el mismo problema en actionscrip3, y no he logrado encontrar una respuesta... con lo que lei aca me oriente un poco, pero queria ver si me puedes explicar como funciona en AS3...

Por nvela

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.