Comunidad de diseño web y desarrollo en internet online

mas allá del firstchild

Citar            
MensajeEscrito el 08 Jul 2006 09:08 pm
Hola, leí el tutorial de xml en flash y pues bien pero el problema es que el xml que tengo, y que no puedo cambiar es un tanto diferente y no se como se accede más allá del firstchild, pues en todo lado asumen que todos los XMl tienen solo uno y no explican más, aquí está el xml, ya lo tengo cargado en el objeto "mixml" :

Código :

<?xml version="1.0" encoding="UTF-8"?>
<dataroot>
   <flsdata>
      <codigo>T001</codigo>
      <oficina>TALLER</oficina>
   </flsdata>
   <flsdata>
      <codigo>D001</codigo>
      <oficina>SISTEMAS</oficina>
   </flsdata>
</dataroot>


Alguna idea? y si es posible... :oops: y no tanta molestia, es mejor usar xml o un array multidimensional para llenar un datagrid?

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox
Citar            
MensajeEscrito el 18 Jul 2006 04:12 pm
A ver... no entiendo xq no puedes cambiar el xml. Aun estas empezando a crear el flash y es el momento de poner una cosa así.
<?xml version="1.0" encoding="UTF-8"?>
<dataroot>
<flsdata codigo=T001 oficina=TALLER/>
<flsdata codigo=D001 oficina=SISTEMAS/>
</dataroot>

No se si el xml lo haces tu a mano o lo sacas de una bd guardada en el serv o guardada en memoria, pero seguro que un orden lógico es siempre mejor ya que lo que tu estabas haciendo son...
elxml.fistChild daria lo que hay entre <dataroot>y</dataroot>
elxml.firstChild.childNodes daria lo que hay entre <flsdata>y</flsdata> <--- hasta aki ningun problema,
el problema lo encuentras en que intentas hacer un array dentro de un xml y deberias darle formato
elxml.firstChild.childNodes.childNodes[0]
elxml.firstChild.childNodes.childNodes[1]
siempre y eso complica a la hora de darle un nombre para poder llamarlo despues tanto sea en un campotxt como en un MovieClip.
el problema vendria si deves ampliar algun campo en variables de fla
<flsdata>
<codigo>D001</codigo>
<oficina>SISTEMAS</oficina>
<numtel>930000000</numtel>
</flsdata>

Por redkram

17 de clabLevel



Genero:Masculino  

ASP,SQL,CSS,JQUERY y más

msie
Citar            
MensajeEscrito el 18 Jul 2006 06:12 pm
Pues bien, el xml lo saco de una base de datos, y así es como se me muestra, lamentablemente no puedo hacer cambios a como me llega el xml, y ampliar campos y demás, pues se hace con sql y cuando vuelva a pedir los datos, pues la base de datos los incluirá, no entiendo totalmente todo lo que dices pues no he manejado mucho el formato xml, creo que me dices que para acceder por ejemplo a el dato que hay en <codigo> debo poner algo así:

Código :

mixml.firstChild.childNodes.childNodes[0]


lo voy a intentar, y a leer tu post hasta que pueda entenderlo jeje

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox
Citar            
MensajeEscrito el 19 Jul 2006 03:57 pm
Este es un xml dinamico que cree hace un tiempo para una web y como puedes ver no lo guardo en el serv y lo saco de una bd, además segun la respuesta que me de la bd imprimo un xml o otro...

client=request.QueryString("client")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_xxx_STRING
rs.Source = "SELECT * FROM xxx where id_clientes like '"&client&"' and Ucase(Tipo) like '"&100&"'"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
if rs.EOF then
response.ContentType="text/xml"
response.write("<?xml version=""1.0"" encoding=""iso-8859-1""?>")
response.write("<menu>")
response.write ("<menu menu="&"""Presentación"""&"/>")
response.write ("<menu menu="&"""Espacio"""&"/>")
response.write ("<menu menu="&"""Fototeca"""&"/>")
response.write ("<menu menu="&"""Contacto"""&"/>")
response.write("</menu>")
else
response.ContentType="text/xml"
response.write("<?xml version=""1.0"" encoding=""iso-8859-1""?>")
response.write("<menu>")
response.write ("<menu menus="&"""Presentación"""&"/>")
response.write ("<menu menus="&"""Espacio"""&"/>")
response.write ("<menu menus="&"""Menu"""&"/>")
response.write ("<menu menus="&"""Fototeca"""&"/>")
response.write ("<menu menus="&"""Contacto"""&"/>")
response.write("</menu>")
end if
rs.Close()
Set rs = Nothing

en flash solo tengo que poner...

elxml=new XML()
elxml.ignoreWhite=true
System.useCodepage=true
elxml.load("urldondeestariaelasp")
function comprobar(success){
success ? hacerloquequieras() : trace("error")
}
elxml.onLoad=comprobar
var acerloquequieras=function(){
for(i=0; i<elxml.firstChild.childNodes.length; i++){
var titulo=(elxml.firstChild.childNodes[i].attributes.menus)
...aqui crearias un moviClip con un txtdinamico para crear el menu
}
break;
}

como tu haces creo (ya estoy escribiendo el flash de memoria) seria

elxml.onLoad=comprobar
var acerloquequieras=function(){
for(i=0; i<elxml.firstChild.childNodes.length; i++){
for(j=0; i<elxml.firstChild.childNodes[i].childNodes.length; j++){
var codigo=(elxml.firstChild.childNodes[i].childNodes[j].attributes)
...y aquí lo que quieras sacar
}
}
break;
}

El ASP cosecha propia........... que aproveche!

Salu2
redkram

Por redkram

17 de clabLevel



Genero:Masculino  

ASP,SQL,CSS,JQUERY y más

msie
Citar            
MensajeEscrito el 19 Jul 2006 10:04 pm
bueno, aunque me parece interesante el concepto de formatear el xml antes de que llegue a flash, como dije, no tengo opción respecto a esto, pues primero que todo, no uso asp, no tengo soporte para este tampoco y no está en mi poder proveerlo, a mi me proveen este xml y "yo veré que hago con él", aunque ya solucioné el dilema, pues ya pude obtener los datos en forma de array multidimensional, pero sigo con la duda.
Aclarando, solo quiero saber si se puede acceder a los datos de este xml, formateado de esta forma, o si flash no puede con esto, pues el problema no es con la base de datos, quisiera saber que hacer en caso de encontrarme con algo parecido en el futuro.

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox

 

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