Comunidad de diseño web y desarrollo en internet online

crear xml con php

Citar            
MensajeEscrito el 21 Dic 2004 07:07 pm
Holas como estan, he leido varias veces, o no tantas ahora que lo pienso, que se puede crear documentos xmls con php para poder leerlo desde Flash e integrar todo eso en una sola aplicacion xml, php y flash, pues eso ¿donde puedo encontrar info sobre como crear documentos xml con php?

Saludos!

Por Smithy

159 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Dic 2004 07:16 pm
Si sabes PHP lo unico que tienes que hacer es crearlos de la misma manera como creas HTML ... HTML de hecho es XML en si

No tiene nada de ciencia, y solo le dices a Flash que lea el PHP como lo haria un navegador

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 21 Dic 2004 07:37 pm
ah, ok, thanx. aunque no entiendo mucho, yo sé php un poco y uso puro Load Vars para comunicarme con fuentes externas, y si uso Load Vars para conectarme con el script php éste leería el xml y lo pasaría a Flash pero no sé como se hace para leer un xml con php ni como escribirlo. Otra cosa: no sé si es posible crear xmls en tiempo de ejecucion con php si es que esto es posible.

Saludos!

Por Smithy

159 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Dic 2004 07:47 pm
Usa el objeto XML y en vez de crear una estructura tipo LoadVars con PHP, crea un XML; deja de pensar en que PHP debe leer y escribir archivos XML, solo hazlo como si escribieras en el flujo de datos normal, mira un ejemplo

Código :

<?php
    $cosa = "Esto es texto";
    echo "<raiz>";
    echo "    <nodo>".$cosa."</nodo>";
    echo "</raiz>";
?>

Lo guardas con extensión PHP, y lo llamas desde Flash igual, la extensión no importa, sino el contenido, y eso te generara un XML

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 22 Dic 2004 12:32 am
ok, esa era la respuesta que necesitaba. Ahora lo probaré. Gracias por la respuesta y tu tiempo, en serio.

Por Smithy

159 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 22 Dic 2004 02:20 pm
Debido a la importancia de este tema y la recurrencia de usuarios preguntando acerca de lo mismo, lo revestimos de superior importancia.

Favor limitarse (en este hilo) a abordar únicamente lo relacionado al planteamiento inicial (asuntos abordados por trolls serán inmediatamente borrados).

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 22 Feb 2005 03:48 pm
Hola tengo una duda como seria para guardar el archivo o actualizar el XML digamos ya tego

Código :

<raiz>
<nodo>tema001</nodo>
<nodo>tema002</nodo>
<nodo>tema003</nodo>
<nodo>tema004</nodo>
</raiz>


y quiero adicionar un "tema005" mas asi como adicionar registros, se puede mediante PHP o tendre q trabajar con PHP-SQL

Saludos :D

Por flasher

Invitado



 

firefox
Citar            
MensajeEscrito el 22 Feb 2005 05:57 pm
Necesitas alimentar los datos desde una base de datos o un txt con PHP.

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

clabbrowser
Citar            
MensajeEscrito el 22 Feb 2005 06:40 pm
jam entiendo me crea el texto con el nuevo registro y eso es lo q cmbio en el xml para q continue trbajando normal verdad ¿?

Por flasher

Invitado



 

firefox
Citar            
MensajeEscrito el 01 Abr 2005 04:39 pm
swf, (x)html, xml, mysql, php, css.
Precisamente yo estoy ahora mismo diseñando una página web ultradinámica, es decir que los contenidos (imágenes, textos, logos, audios, videos.........) TODO se actualiza cada semana. Es una emisora de radio a la carta. Entonces, me planteé la necesidad de importar a flash todos los contenidos. Pero claro, si se tienen que actualizar los textos, etc. pues usando xml sería una buena idea. Pero si el que tiene que actualizar la página no tiene ni idea de siglas, lo normal es crear toda una estructura para el administrador, de forma que con formularios pueda cambiar los textos, o subir los audios, etc. Para llevar a cabo esto, y que luego se pueda importar a flash estoy usando la siguiente relación:

- En flash únicamente se cargan html con css y xml.
- mysql: base de datos con las tablas donde se encuentran los contenidos textuales, y las rutas de las imágenes/audios.
-php para gestionar la información de la base de datos, y para gestionar las peticiones de flash, que pide un xml, pero se vincula a un php que lo que hace es crear el xml a partir de las variables que recibe de flash, consultando en la base de datos para enviar la información correspondiente.

La verdad es que estoy temblando por todo el trabajo que se me viene encima, ya que, si bien con AS empiezo a defenderme, ahora empiezo con todo lo demás. Suerte que existe DREAMWEAVER MX 2004. Y con un par de manuales...

En fin es una explicación para novatos, para que se entienda un poco la relación entre lenguajes. El puente entre mysql/php y flash es xml. :wink:

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

msie
Citar            
MensajeEscrito el 30 Abr 2005 04:05 pm
Talvez a lo que se referia Smithy era crearlo de la siguiente forma:

<DatosPersonales>
<Nombre>Canción</Nombre>
</DatosPersonales>

$doc = new DomDocument("1.0");
$root = $doc->createElement("Docentes");
$doc->appendChild($root);
$DatosPersonales = $doc->createElement("DatosPersonales");
$root->appendChild($DatosPersonales);
$Nombre = $doc->createElement("Nombre");
$DatosPersonales->appendChild($Nombre);

$Texto=$doc->createTextNode(utf8_encode("Canción"));
$Nombre->appendChild($Texto);

$doc->save("../TuXML.xml");

Aunque hay maneras de parsearlo mas corto

Por Jc

62 de clabLevel



 

msie
Citar            
MensajeEscrito el 10 May 2005 04:59 am
Bien, vamos por partes:

Primero si puedes crear un archivo xml desde php, a su vez puedes leer o analizar un archivo xml desde php, utilizando las funciones de la librería Expat de James Clarkin.

¿Como se hace?..

Primero que todo hay que saber para que nos sirve XML: En mi castiza definición podría decir lo siguiente “lenguaje que nos permite estructurar un conjunto de datos para permitir comunicar diferentes aplicaciones, por ejemplo una Base de datos MySQL y un script PHP“.


Bien y como se crea el archivo xml, veamos:

Código :

<?php
$buffer='<?xml version="1.0" encoding="utf-8"?>
          <!--Este  es un ejemplo para crear un archivo xml con php-->
           <agenda>
            <persona nombre="Carlos Leon" telefono="98784562"/>
            <persona nombre="Ana Maria" telefono="55778445"/>
            <persona nombre="Diana Lorena" telefono="112244455"/>
           </agenda>
          ';
       $name_file="archivo.xml";
       $file=fopen($name_file,"w+");
       fwrite ($file,$buffer);
       fclose($file);
?> 


Tutoriales de xml hay muchos en Internet, en este momento no tengo específicamente un URL pero en cualquier buscador encontraras muchos enlaces a lo que tu buscas.

Bien, chao y éxitos. ^^

Por JALF

13 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Jun 2005 11:26 pm
Creo que tu script tiene algunas cosas que no siempre funcionan:

Código :

$buffer='<?xml version="1.0" encoding="utf-8"?> 


Aqui les doy un ejemplo que hice para un proyecto reciente...

Código :

$xml = fopen ("../../xml/archivo.xml", "w");
      if (!$xml) {
          echo "No se pudo abrir el archivo XML.";
          exit;
      }
      fwrite ($xml, '<?xml version="1.0"' . '?' .'> <GALERIA>');
   while ($row = mysql_fetch_array($result)){
      $contenidoxml = ' <PALETA nombre = "'. $row["nombreartista"] .'"';
      $contenidoxml .=' rama = "'. $row["ramartista"] .'"';
      $contenidoxml .=' texto = "'. $row["descripcion"] .'"';
      $contenidoxml .=' imagen = "'. $row["imageartista"] .'"';
      $contenidoxml .=' obrasxml = "../xml/obra/'. $row["prefix"] . '.xml" />';
      fwrite ($xml, $contenidoxml);
      }
fwrite ($xml, " </GALERIA> ");

if (fclose ($xml)){
   //echo "Archivo escrito con exito";
    } else {
      exit ("Error escribiendo el XML");
}

Por bipsa

628 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Colombia

msie
Citar            
MensajeEscrito el 04 Jun 2005 06:35 pm
Hola!! el ejemplo de la agenda va fenomenal...pero a mi se me presenta una duda...y es como añadir, en este ejemplo, una nueva persona al XML.

se abriria el archivo XML en modo a o a+, no?? pero como hago para respetar la ultima linea del XML "</agenda>"???? :crap:

si pueden ayudarme se lo agradeceria enormemente.

Por sebasstyle

35 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Jun 2005 10:09 pm
No es buena idea escribir etiquetas en mayúsculas bipsa, puede traer errores al validarlo.

Lo mismo va para el HTML, y XHTML especialmente.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 05 Jun 2005 03:56 pm
Tienes razón con lo de las *etiquetas, lo que señalaba es esta linea en la escritura de XML

Código :

fwrite ($xml, '<?xml version="1.0"' . '?' .'> <GALERIA>'); 



tenes toda la razon.... :oops:

Por bipsa

628 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  



Ultima edición por bipsa el 06 Jun 2005 02:41 am, editado 1 vez

Colombia

msie
Citar            
MensajeEscrito el 06 Jun 2005 02:09 am

bipsa escribió:

<GALERIA>


the_NEO_JP escribió:

No es buena idea escribir etiquetas en mayúsculas bipsa, puede traer errores al validarlo.

Lo mismo va para el HTML, y XHTML especialmente.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 05 Sep 2005 05:08 pm
para actualziar los datos dinamicamente, o sea, bases de datos y todo eso es lo mismo que si hicieras cualquier query a la base de datos

Código :

   $sql = "SELECT * FROM `tablita`";
   $data = mysql_query("$sql") or die(mysql_error());
    echo "<personas>
   while($datos = mysql_fetch_array($data)){
    echo "<$datos[nombre]>";
   }
    echo "</personas>
   mysql_free_result($data);


de esa forma te recupera los registros que hay en la tabla "talbita" y te muestra el campo "nombre", los puedes ordenas como quieras y hacer filstro y filtros, eso ya depende de ti y de la necesidad que tengas para hacer eso...
me gustaria mucho trabajr todo directamente en el archivo PHP y no escribir en otros(solo que tenga problemas por la extencion) y manejar las cabeceras diciendo que es un archivo XML, asi te evitas de estas cambiado permisos y todo eso, que los cambios de servidor, por que ahora estas en un IIS y al rato te pasan a un apache sobre linux, asi nada mas cambias todos tus archivos, bases de datos y listo ;)

Por Azielito

79 de clabLevel



 

Frente al PC

firefox
Citar            
MensajeEscrito el 16 Sep 2005 11:02 am
asi pues si puedes generar un XML con los "echo", para que molestarse en escribir un XML para realizar una consulta que leeras desde flash? no lo entiendo, no entiendo por qué lo de generar escribirlo :S

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

msie
Citar            
MensajeEscrito el 26 Oct 2005 11:11 pm
Si, puedes mandarlo a pantalla y con variables por si quieres hacer algun filtro y nada mas le pones en la cabecera que se trata de un archivo xml y ya :D es como usar la GD pero con xml xD

Por Azielito

79 de clabLevel



 

Frente al PC

firefox
Citar            
MensajeEscrito el 28 Oct 2005 05:48 pm
A la hora de obtener datos de una DB no conviene usar las funciones XML-RPC que vienen con PHP??

Pablo

Por _pablito_

Claber

190 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 30 Oct 2005 11:33 pm

Azielito escribió:

para actualziar los datos dinamicamente, o sea, bases de datos y todo eso es lo mismo que si hicieras cualquier query a la base de datos

Código :

   $sql = "SELECT * FROM `tablita`";
   $data = mysql_query("$sql") or die(mysql_error());
    echo "<personas>
   while($datos = mysql_fetch_array($data)){
    echo "<$datos[nombre]>";
   }
    echo "</personas>
   mysql_free_result($data);


de esa forma te recupera los registros que hay en la tabla "talbita" y te muestra el campo "nombre", los puedes ordenas como quieras y hacer filstro y filtros, eso ya depende de ti y de la necesidad que tengas para hacer eso...
me gustaria mucho trabajr todo directamente en el archivo PHP y no escribir en otros(solo que tenga problemas por la extencion) y manejar las cabeceras diciendo que es un archivo XML, asi te evitas de estas cambiado permisos y todo eso, que los cambios de servidor, por que ahora estas en un IIS y al rato te pasan a un apache sobre linux, asi nada mas cambias todos tus archivos, bases de datos y listo ;)


Entonces, con ese script puedo llamar datos desde flash sin necesidad de leer directamente de un XML. Seria como leer de un XML virtual o algo asi, correcto?

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

firefox
Citar            
MensajeEscrito el 03 Nov 2005 12:25 pm
Hola:
Despues de probar el ejemplo y ver que funciona a la perfeccion me surgen un par de dudas:
- La primera es que no consigo que se escriban en el XML los caracteres como ó,é,ü y eso que le puse encoding="UTF-8" al crearlo, no he descubierto que estoy haciendo mal :S
- La segunda es una tonteria pero me gustaria que el XML se escribiera con "tabulacion", bueno mas que nada que haya saltos de pagina al abrirlo con un bloc de notas. Es simplemente a la hora de visualizarlo y porque a mi me gusta mas.

Gracias por adelantado

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox
Citar            
MensajeEscrito el 03 Nov 2005 10:46 pm
Para la tabulacion, \t no sirve?

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

clabbrowser
Citar            
MensajeEscrito el 09 Nov 2005 04:14 am
buenas

yo uso siempre que tengo que crear xml's mas complicados uso la libreria DOM XML (y creo que en este post no se menciono)

pueden encontrar la referencia de esta libreria aqui http://ar.php.net/manual/es/ref.domxml.php

lo que si deben tenerla instalada en el servidor para poder usar sus funciones jeje, pero yo la vi disponible en muchos servidores

saludos!

Por UltraLogico

45 de clabLevel



 

Córdoba Argentina

msie
Citar            
MensajeEscrito el 15 Dic 2005 08:13 pm
Buenas, ando algo pez a ver si me podeis orientar.
A través de php cojo una serie de variables de una base de datos, y se las quiero pasar a mi flash en forma de Array.
La única forma que se me ocurre es escribir un xml y dcirle a flash que lo lea. El problema radica en que al conectarse bastante gente a la página se sobreescribirian los archivos y si los guardo como nombres distintos crearian miles de archivos....
Me intriga eso que decís de simular un xml con "echo" pero no termino de enterarme.
Desde el punto de vista de PHP creo que ningún problema, pero no se en flash como decir que lo lea.
En resumen (escribiendo en archivos xml), :
BBDD
nombre apellido ciudad pais
pedro sanchez madrid españa
juan sanchez barcelona españa
laura ortíz barcelona españa

Con el php: hago una consulta a la base de datos por ejemplo que me mande todos los de barcelona. Lo capturo y lo guardo en un xml.

Ahora como le digo a flash: "eh! lee tal o cual archivo pero AHORA:-P" y ya que estamos que lo borre después.


Me preocupa que con tanto royo de escribir y leer se pierda mucho tiempo y relentize demasiado, por eso quizá es mejor la idea de "no llegar a escribir nada" si no simular su escritura y leerlo desde flash, xo no se ni como enviarlo ni como cogerlo desde flash....

Ayuda por favor! :( Un saludo!

Por Arshen

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Dic 2005 09:36 pm
pues con el objeto xml

por ejemplo:

Esto es el xml que quieres generar (lo puedes crear para hacer las pruevas)

Código :

<Playlist>
   <Song URL="seccions/infoemute/audio/ie10-05-05.mp3" titol="Info Emute dimarts 10-05-05" imatge="seccions/infoemute/imatges/imatge2.jpg">
Informatiu emès el dimarts dia 10-05-05
   </Song>
   <Song URL="seccions/infoemute/audio/ie06-05-05.mp3" titol="Info Emute divendres 06-05-05" imatge="seccions/infoemute/imatges/imatge1.jpg">
Informatiu emès el divendres dia 06-05-05
   </Song>
</Playlist>


Ahora vamos a crear y llamar el xml en flash:

var playlistXML:XML = new XML(); //crearlo
playlistXML.ignoreWhite = true; //asegurarse que funcione bien
//y al cargar creamos un array
playlistXML.onLoad = function() {
   var tempArray = new Array();
   for (var i = 0; i<this.firstChild.childNodes.length; ++i) {
      tempArray[i] = new Object(); //el objeto array contendrá los datos del xml
      //aquesta informacio surt al text
      tempArray[i].comentaris = this.firstChild.childNodes[i].attributes.comentari;
      //ruta del audio del xml
      tempArray[i].data = this.firstChild.childNodes[i].attributes.url;
      //aquesta informació surt a l'etiqueta de la llista
      tempArray[i].label = this.firstChild.childNodes[i].attributes.titol;
      //aqui carrega la ruta per a les imatges del xml
      tempArray[i].imatge = this.firstChild.childNodes[i].attributes.imatge;
      //trace(tempArray[i].label);
   }
   //yo lo he asignado a un componente list:
   playlist_lb.dataProvider = tempArray;
};
//por último, llamamos al xml, que en realidad será generado por el php con "print o echo", ya sabes)
playlistXML.load("seccions/infoemute/playlist_infoemute.php");

Y despues lo usas:

var playlist_lbListener:Object = new Object();
playlist_lbListener.change = function() {
   currentSong = playlist_lb.selectedItem.data;
   currentImatge = playlist_lb.selectedItem.imatge;
   currentTitol = playlist_lb.selectedItem.label;
   currentComentari = playlist_lb.selectedItem.comentaris;
   comentari_txt.htmlText = "<b>"+currentTitol+"</b>"+"<br><i>"+currentComentari+"</i>";
   loadMovie(currentImatge, "imatge_mc");
   flagElectAudio = true;
};
y cuando ya esté en el array, lo puedes eliminar

delete playlistXML

el php es así:
......... song url="<? print $ruta_audio ?><? print $row["nom_audio"]; ?>" titol=" ......... etc.

Entendiste?

Suerte con el proyecto!

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

firefox
Citar            
MensajeEscrito el 15 Dic 2005 11:18 pm
mazo de gracias, creo que he piyado como va si no en un rato vuelvo a dar la coña. Tengo alguna duda de como sería el php xo voy a cacharear un poco a ver si es como pienso. Un saluten y grachias!

Por Arshen

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 17 Dic 2005 02:26 pm
Muy buenas, no hay forma...
He implementado el código de flash y me va perfectamente siempre y cuando lea un archivo con extensión .xml del tipo:
<variable>
<eo id="hohoshos" nombre="pedro" apelllido="santos" />
..
...
...
</variable>

Ahora empieza lo dificil y que no consigo: leer un .php

He empezado intentando leer una base de datos, pero como no me funciona tal sólo he creado un php que conecta a una base de datos pero luego el "echo" se lo meto yo (para ir limpiando bugs) y me he dado cuenta que el problema es que no debo saber lanzar bien estos echo. Yo hago esto en el php:

echo '<variable>'
echo '<eo id="hohoshos" nombre="pedro" apelllido="santos" />'
echo '</variable>'

Pero mi componente List ni caso. Me podeis orientar para como escribir este php? Muchas gracias!

Por Arshen

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Dic 2005 06:08 pm
A ver, yo no se mucho de php, pero lo que tienes que conseguir es que al consultr la base de datos, el php te genere exactamente el xml en la pantalla de tu navegador. Si logras eso, funcionará. O sinó, posteo el código de mi php (aunque no quisiera, porque me da verguenza...) :oops:

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

firefox

 

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