Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2006, 12:40
ratamaster
 
Fecha de Ingreso: octubre-2004
Ubicación: En algún lugar de la República Oriental del Uruguay
Mensajes: 366
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta Problema xml-mysql-php

Hola gente.
Bueno, paso a decribir el problema:
Resulta que tengo un cliente que administra una biblioteca con cientos de libros. Este lleva un control de los libros con un programa llamado ISIS, donde él almacena los nombres, autores, fechas de edición, entro otras cosas de cada uno de los libros.

Ahora él quiere tener toda esa información almacenada en la web, con un buscador de libros por autor, fecha, etc.

Este programa (ISIS), tiene la posibilidad de crear un archivo backup en formato XML, por lo tanto, a mi se me ocurrió la idea de llenar la base de datos a partir de este archivo XML. Para llegar a hacer esto necesitaba una manera de leer este archivo XML e ir insertando en la bd los tags del XML.

Encontré una clase de php que cumplía todo esto. Lo único que tenía que tener establecido desde el inicio era la tabla donde iba a insertar los valores del XML, esto significa crear todos los campos y sus tipos de datos (varchar, int, etc).
Ejecuté un ejemplo (que traía esta clase) y todo se hizo a la perfección

Mi problema surgió al probar con mi archivo XML, encontré esta estructura dentro del archivo (este caso es a modo de ejemplo de lo que serían 2 libros):

Código:
<RECORD>
<nombre>La odisea</nombre>
<codigo>001</codigo>
<autor>Homero</autor>
</RECORD>

<RECORD>
<nombre>El Php</nombre>
<codigo>002</codigo>
<autor>Roberto</autor>
<autor>Juan</autor>
</RECORD>
Aquí me di cuenta del error:
En la bd solo tengo los campos "nombre", "codigo", "autor" (aparte de un id autonumérico), y si se fijan en el segundo libro (El Php), tengo dos tags <autor>. Ahí está mi problema.

La idea es no cambiar el archivo a mano y encontrar una forma de que si se me presenta un caso donde se repitan por ejemplo el tag autor, en este caso, se forme algo así:

Código:
<RECORD>
<nombre>El Php</nombre>
<codigo>002</codigo>
<autor>Roberto, Juan</autor>
</RECORD>
Necesito una manera de eliminar los tags que se repitan (que puede ser cualquiera, en este caso solo presenté el caso del tag autor), y concatenerlos en un solo tag autor.

¿Exciste otra manera de crear el buscador a apartir del xml?, Y si no es así, ¿Cómo puedo solucionar el problema de la repetición de los tags?.

Gracias.
__________________
ratamaster