Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 5 de 5

Tema: XML y PHP, duda general.

  1. #1
    Recien Llegado! Habitante
    Fecha de Ingreso
    08 mar, 10
    Mensajes
    24
    Poder de Reputación
    15

    XML y PHP, duda general.

    Hola, bueno me he puesto con esto del XML, y las relaciones que permite con otros lenguajes como PHP y AJAX y bien me doy cuenta de que por lo visto Datos de caracter estaticos (de esos que almacenas en tu base de datos para solo lectura) podrian estar en archivos XML.

    La duda es si por ejemplo yo almaceno en XML datos sobre X tema, ej:

    Coches que tengo en mi garage:

    Modelo
    Precio
    Color
    Km
    Potencia

    Bien almacenar estos datos en 1 archivo XML, luego seria posible tratarlos con PHP como si se tratases de una base de datos SQL, en la que extraes los datos en una variable o en 1 array y luego puedes operar con ellos?.

    No se si he sido capaz de expresar correctamente la pregunta.

    Gracias por vuestras respuestas.

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Hola:

    Lo más simple es utilizar la clase SimpleXML. Se usa así:

    Código HTML:
    <?xml version="1.0" ?>
    <coches>
      <coche>
        <modelo>ModeloA</modelo>
        <Precio>...</Precio>
        <!-- El resto de los elementos -->
      </coche>
      <!-- Repites los coches -->
    </coches>
    Código PHP:
    $xml simplexml_load_file'nombre_archivo.xml' );
    echo 
    $xml->coche[0]->modelo// Mostraría "ModeloA" sin comillas 
    Luego, $xml->coche[1]->modelo tendrá el modelo del siguiente coche y así sucesivamente. Obviamente dependerá de la estructura del archivo XML, pero básicamente es eso. El resto de las propiedades se accede igual:

    $xml->coche[n]->precio
    $xml->coche[n]->color
    $xml->coche[n]->potencia
    $xml->coche[n]->km
    etc.

    Saludos.

  3. #3
    Recien Llegado! Habitante
    Fecha de Ingreso
    08 mar, 10
    Mensajes
    24
    Poder de Reputación
    15
    Vale creo que mas o menos resolviste mi duda,

    Pero ahora me has crado 2 nuevas jejeje , (segun el ejemplo que tu me has dado)

    Esta variable $xml->coche[0]->modelo; contiene ModeloA (si fuese un Numero por ejemplo 3, yo podria sumar $xml->coche[0]->modelo + $xml->coche[1]->modelo; ??)

    La otra duda es, si el [0] tengo que indicarlo en el XML o simeplemente al haber 2 o mas etiquetas iguales se enumeran solad de menor a mayor empezando en 0.


    Gracias por tu ayuda.

  4. #4
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    A ver...

    Esta variable $xml->coche[0]->modelo; contiene ModeloA (si fuese un Numero por ejemplo 3, yo podria sumar $xml->coche[0]->modelo + $xml->coche[1]->modelo; ??)
    Sí, se podría. A pesar de que PHP no tiene tipos de variables, asegúrate de convertir a un número la variable, así:

    Código PHP:
    $suma 0;
    $suma += (int) $xml->coche[0]->km;
    // Así podrías sumar todo el kilometraje, por ejemplo. 
    si el [0] tengo que indicarlo en el XML o simeplemente al haber 2 o mas etiquetas iguales se enumeran solad de menor a mayor empezando en 0.
    No, no lo debes indicar en el XML. PHP leerá el archivo y convertirá la etiqueta padre (que en el ejemplo anterior sería <coches></coches>) en un arreglo de objetos; cada índice del arreglo será un objeto distinto del tipo coche y las propiedades del objeto serán los nodos hijo del coche (en singular) correspondiente.

    Saludos :D.

  5. #5
    Recien Llegado! Habitante
    Fecha de Ingreso
    08 mar, 10
    Mensajes
    24
    Poder de Reputación
    15
    Perfecto, muchas gracias por la ayuda, todo solucionado ;)

Temas Similares

  1. duda estilo-general.css
    Por solid33 en el foro Foro General
    Respuestas: 3
    Último Mensaje: 18/12/2007, 13:14
  2. Duda de culturilla general
    Por Gonzal000 en el foro Foro General
    Respuestas: 3
    Último Mensaje: 12/04/2007, 13:15

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •