Comunidad de diseño web y desarrollo en internet online

Problemas con la formacion de un XML a partir de php

Citar            
MensajeEscrito el 26 Ene 2005 04:45 pm
hola a todos ...

Estoy haciendo pruebas con XML para la comunicacion entre mysql y flash por medio de php...

este es el codigo del php :

script para la conexion a la base de datos ...
.
.
.
?>
<volumenes >
<?php
$ano=1951;
while ($fila = mysql_fetch_assoc($resultado)){
echo "<br/>";
?>
&lt;
<?php echo $ano+=1;
?>
&gt;
<?php
echo $fila["ano"];
?>
&lt;
<?php
echo "/".$ano;
?>
&gt;
<?php
echo "<br/>";
}
?>
&lt;
<?php
echo "/";
?>
volumenes&gt;
<?php
mysql_free_result($resultado);
?>

esto me genera algo como esto ...

<volumenes >
< 1952 > 1952 < /1952 >

< 1953 > 1953 < /1953 >

< 1954 > 1954 < /1954 >

< 1955 > 1955 < /1955 >

< 1956 > 1956 < /1956 >

< 1957 > 1957 < /1957 >

< 1958 > 1958 < /1958 >

< 1959 > 1959 < /1959 >

< 1960 > 1960 < /1960 >
</volumenes>

y en flash los recibo con esto ..

año_1952.text = obj_xml.firstChild.childNodes[0].firstChild.nodeValue;

año_1953.text = obj_xml.firstChild.childNodes[1].firstChild.nodeValue;

año_1954.text = obj_xml.firstChild.childNodes[2].firstChild.nodeValue;

pero al ejecutar el flash en los TextInput me aparece indefinido ...

espero me puedan ayudar ....

como siempre gracias !!!

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox
Citar            
MensajeEscrito el 26 Ene 2005 05:10 pm
1. tu xml está mal, no debe haber espacios entre < y la primera letra
2. leete bien el tutorial de xml

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 26 Ene 2005 05:16 pm
ok. se los voy a quitar pero en el tutorial freddie comenta de una funcion en flash :

/*Esta linea es EXTREMADAMENTE necesaria
Es la que nos permite colocar espacios entre etiquetas
Sin ella, tendriamos que mantener completamentepegado nuestro XML
Y se parsearia mal dentro de Flash
*/

obj_xml.ignoreWhite = true;

y la tengo en mi flash ...

gracias fael

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox
Citar            
MensajeEscrito el 26 Ene 2005 06:29 pm
de hecho no sé mucho de xml, vamos que el código que he usado lo armé yo pero sin entenderlo mucho, pero lo que sé es que la línea no es totalmente necesaria, yo, por ejemplo hago un chequeo de si el valor está vacío o no

pero empieza formando bien el xml:
<nombre>valor</nombre>
sin espacios entre las <>

saludos

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 26 Ene 2005 06:38 pm
ok. fael

gracias !!

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox
Citar            
MensajeEscrito el 26 Ene 2005 08:31 pm
ya arregle el php y me quedo asi ..

<p><volumenes></p>
<p><<?php echo "ano1";?>><?php echo "1952";?></<?php echo "ano1";?>></p>
<p><<?php echo "ano2";?>><?php echo "1953";?></<?php echo "ano2";?>></p>
<p></volumenes></p>

y me genera esto ...

<volumenes>

<ano1>1952</ano1>

<ano2>1953</ano2>

</volumenes>

en flash los recibo :
obj_xml.load("volumenes.php");

pero en los textinput me arroja indefinido

hice otra prueba copiando lo que el navegador imprime y genere un xml y asi todo funciona bien ...

espero me puedan ayudar ...
gracias !!

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox
Citar            
MensajeEscrito el 26 Ene 2005 11:24 pm
alpri

Primero; las reglas de XML dicen que no deben haber espacios entre los nombres de la etiqueta, ya que son separadores para el nombre y sus atributos, asi que si colocas esto

< etiqueta >
Esta mal :(

<etiqueta>
Esta bien :)

(Didactico 100% xD )

Ahora, publica aqui el codigo XML tal como lo publica tu PHP, esto lo haces, abriendo tu archivo PHP en tu navegador, das click derecho, pones "Ver codigo fuente", copias y lo pegas aqui; para que no pierda el formato al ponerlo en el foro, lo encierras entre etiquetas

Código :

asi
[b][[/b]code]Codigo


Luego pega TODO el codigo de Flash que usas y no olvides verificar los nombres de instancia de tus campos de texto

Y lo mas importante, lee abajo la guia para hacer preguntas efectivas :)

Saludos

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

clabbofh
Citar            
MensajeEscrito el 27 Ene 2005 12:04 am
Frediee

Tengo un problema con un codigo php, resulta que hago una consulta a MySQL y obtengo el resultado, el cual lo quiero desplegar en XML, pero dicho XML debe ser generado por PHP, con la instruccion echo trato de imprimir el encabezado, de xml y los respectivos nodos, pero no me aparece nada, me puedes ayudar en eso please...

un pequeño fragmento de mi codigo de php...

Código :

echo '<?xml version="1.0" encoding="iso-8859-1"?>';
echo "<Usuario>";
echo"        <usuario nombre='.$nombre.'/>';
echo "</Usuario>";

Por heberto

263 de clabLevel

1 tutorial

1 ejemplo

 

Morelia, Michoacán

msie
Citar            
MensajeEscrito el 27 Ene 2005 12:24 am
echo '<?xml version="1.0" encoding="iso-8859-1"?>';

Ves el error ahora? xD
Te dejo para que lo soluciones, tendras que ser muy creativo

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

clabbofh
Citar            
MensajeEscrito el 27 Ene 2005 01:55 am
Ya tengo arreglado lo de XML, y lo mando cargar con XML object y segun esto lo carga bien, pero al momento que quiero imprimir en la ventana de salida el primer nodo, me despliega el mensaje de que si lo cargo pero en lineas abajo me pone el siguiente mensaje:

"No input file specified"

mi codigo es el siguiente...

Código :

var datosRecibir = new XML();
datosRecibir.ignoreWhite=true;

// Al cargar el documento XML
datosRecibir.onLoad=function(cargado){
   if(cargado){
      trace("Documento cargado");
      Nodo=this.firstChild;
      numNodo=Nodo.childNodes.length;
      trace(Nodo);
   }else{
      trace("No es posible cargar documento");
   }
};

datosRecibir.load("http://www.zonazero.biz/soporte/pruebas/login_flash.php");


Me pueden decir que estoy haciendo mal por favor? gracias.

Por heberto

263 de clabLevel

1 tutorial

1 ejemplo

 

Morelia, Michoacán

msie
Citar            
MensajeEscrito el 27 Ene 2005 02:01 am
Lo mismo que le dije a alpri, abres tu PHP, copias como le dije a alpri el contenido del XML, y etc... arriba esta el mensaje

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 27 Ene 2005 02:10 am
Codigo XML que genera php...

Código :

<?xml version='1.0' encoding='iso-8859-1'?><datos><usuario id='1' nombre='Julio Heberto González Morales' compania='Zona Zero' puesto='Programador web Jr' direccion='Jimenez # 577' colonia='Del periodista' ciudad='Colima' estado='Colima' pais='México' correo='[email protected]' cp='28070' telefono='3129437621' tipo='1' foto='Avatar.jpg'/></datos>


Codigo en Flash...

Código :

var datosRecibir = new XML(); 
datosRecibir.ignoreWhite=true; 

// Al cargar el documento XML 
datosRecibir.onLoad=function(cargado){ 
   if(cargado){ 
      trace("Documento cargado"); 
      Nodo=this.firstChild; 
      numNodo=Nodo.childNodes.length; 
      trace(Nodo); 
   }else{ 
      trace("No es posible cargar documento"); 
   } 
}; 

datosRecibir.load("http://www.zonazero.biz/soporte/pruebas/login_flash.php");

Por heberto

263 de clabLevel

1 tutorial

1 ejemplo

 

Morelia, Michoacán

msie
Citar            
MensajeEscrito el 27 Ene 2005 02:13 am
¬_¬
Abre esta URL
http://www.zonazero.biz/soporte/pruebas/login_flash.php

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 27 Ene 2005 05:19 pm
hola freddie ...

tienes razon mis post estan horribles ... para la proxima los voy a mejorar ...

bueno este es el codigo que genera php


Código :

<?xml version="1.0" encoding="iso-8859-1"?><p>&lt;volumenes&gt;</p>
<p>&lt;ano1&gt;1952&lt;/ano1&gt;</p>
<p>&lt;ano2&gt;1953&lt;/ano2&gt;</p>
<p>&lt;/volumenes&gt;</p>


:oops:

pero no tiene nada que ver con el de heberto

<?xml version='1.0' encoding='iso-8859-1'?><datos><usuario id='1' nombre='Julio Heberto González Morales' compania='Zona Zero' puesto='Programador web Jr' direccion='Jimenez # 577' colonia='Del periodista' ciudad='Colima' estado='Colima' pais='México' correo='[email protected]' cp='28070' telefono='3129437621' tipo='1' foto='Avatar.jpg'/></datos>


el de flash es practicamente el de tu tutorial, solo cambie los campos de texto :

Código :

var obj_xml:XML = new XML();
obj_xml.ignoreWhite = true;
obj_xml.onLoad = function(exito) {
   if (exito) {
      año_1952.text = obj_xml.firstChild.childNodes[0].firstChild.nodeValue;
      año_1953.text = obj_xml.firstChild.childNodes[1].firstChild.nodeValue;

      } else {
      cuerpo_txt.text = "Error";
   }
};

function cargarXML() {

   obj_xml.load("prueba.php");
}

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox
Citar            
MensajeEscrito el 27 Ene 2005 05:47 pm
:?
Tu XML no tiene raiz

Mejor es que leas un tutorial de XML plano (No con Flash, solo XML), hay muchos en la web ... y aprendas sus bases

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

clabbofh
Citar            
MensajeEscrito el 27 Ene 2005 05:51 pm
si ya lo capte ...

:(


gracias !!
:lol:

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox
Citar            
MensajeEscrito el 27 Ene 2005 10:40 pm
Saludos

Alpri, esta es la forma que uso para imprimir un XML en pantalla con ayuda de PHP.

Código :

<?php
          $Nombre="Julio Heberto";
          echo "<?xml version='1.0' encoding='iso-8859-1'?>";
          echo "<Datos>";
          echo "<usuario Nombre='$Nombre'/>";
          echo "</Datos>";
?>


Espero que con este pequeño ejemplo te quede mas entendible la forma en que debes imprimir el archivo XML.

Saludos

Por heberto

263 de clabLevel

1 tutorial

1 ejemplo

 

Morelia, Michoacán

msie
Citar            
MensajeEscrito el 28 Ene 2005 12:20 am
Una cosa, heberto coloca como raiz el nodo "Datos"; el estandar XML dice que NO se deben usar mayusculas en los nombres de los nodos ;)

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

clabbofh
Citar            
MensajeEscrito el 28 Ene 2005 03:28 pm
Gracias Heberto ... con eso esto es suficiente ...

ok. freddie lo voy a tomar en cuentra

:D :D

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox
Citar            
MensajeEscrito el 28 Ene 2005 06:18 pm
No manches ...

Todo perfecto ... :lol: :lol: :lol:


Gracias Heberto !!!

Gracias Freddie !!!!

Por alfagc

63 de clabLevel



Genero:Masculino  

Tepic.

firefox

 

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