SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5
3.1. ¿Qué es XML?




                         <?xml version=” 1.0” encoding=” utf-8”    ?
                                                                   >
                         <mensaje>Hola Mundo</mensaje>




Desarrollo web avanzado con PHP 5                         Bloque III: PHP y XML
3.1. ¿Qué es XML?

   eXtensible Markup Language

    XML es un lenguaje de etiquetas, como HTML
    XML está diseñado para transportar información, no para mostrarla
    XML no tiene etiquetas predefinidas. Tú puedes definir las tuyas
    XML está diseñado para ser auto-explicativo
    XML es una recomendación del W3C
    XML no hace nada




Desarrollo web avanzado con PHP 5                         Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Definición del tipo de documento

   Tiene que ser la primera línea del documento



                    <?xml version=” 1.0”          encoding=” utf-8”   ?
                                                                      >




Desarrollo web avanzado con PHP 5                                 Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Elementos XML

    XML es case-sensitive




                         <mensaje>Hola Mundo</mensaje>
    Es distinto de

                          <Mensaje>Hola Mundo</Mensaje>




Desarrollo web avanzado con PHP 5                         Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Elementos XML

    El nombre de un elemento

     1. Puede contener letras, números, puntos, dos puntos y acentos
     2. Sólo pueden empezar por letras
     3. No pueden empezar con las letras XML (o xml, o Xml, …)
     4. No pueden contener espacios en blanco




Desarrollo web avanzado con PHP 5                                      Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Elementos XML

    Todas las etiquetas tienes que estar debidamente cerradas


     <mensaje>Hola Mundo</mensaje>

     O si tienen ningún contenido


      <Mensaje />




Desarrollo web avanzado con PHP 5                               Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Elementos XML

    Cualquier XML tiene uno y solo un elemento raíz

     <?xml version=” 1.0”           ?>
                                              <?xml version=” 1.0”   ?>
     <peliculas>
                                              <pelicula>
       <pelicula>
                                                Avatar
         Avatar
                                              </pelicula>
       </pelicula>
                                              <pelicula>
       <pelicula>
                                                Distrito 9
         Distrito 9
                                              </pelicula>
       </pelicula>
     </peliculas>
Desarrollo web avanzado con PHP 5                              Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Elementos XML

    Los elementos deben estar correctamente anidados


          <peliculas>
            <pelicula>
              <directores>
                <director>James Cameron</director>
              </directores>
            </pelicula>
          </peliculas>


Desarrollo web avanzado con PHP 5                      Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Atributos XML

    Normalmente son utilizados para almacenar metainformación del elemento


                <mensaje lang=” es” >Hola Mundo</mensaje>


    Podemos usar tanto comillas simples como dobles


                <mensaje lang='es' >Hello World</mensaje>




Desarrollo web avanzado con PHP 5                                 Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Espacios en blanco
   Se entiende por “espacio en blanco” saltos de carros, sangrados, tabulaciones y por
   supuesto, un espacio


   Son obligatorios para separar el nombre de un atributo del nombre del elemento


   Son aconsejados para permitir una mejor lectura del documento (tabulaciones para
   indicar anidaciones)




Desarrollo web avanzado con PHP 5                                    Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Espacios en blanco




            <     mensaje lang=” es”   >Hola Mundo</mensaje     >




Desarrollo web avanzado con PHP 5                      Bloque III: PHP y XML
3.1. ¿Qué es XML?

   Espacios en blanco



                  <peliculas><pelicula><directores>
                  <director>James Cameron</director>
                  </directores></pelicula></peliculas>




Desarrollo web avanzado con PHP 5                        Bloque III: PHP y XML
3.1. ¿Qué es XML?

   XML válidos y bien formados

   XML bien formados – cumplen con las reglas del W3C


                                    http://www.w3schools.com/XML/xml_validator.asp



   XML válidos – cumplen con las especificaciones de un DTD o Schema




Desarrollo web avanzado con PHP 5                                  Bloque III: PHP y XML
3.1. ¿Qué es XML?

   El ecosistema XML


                        DTD               Namespaces
               Document Type Definition




                   Schema XML              XForms



                       XPath                XSLT




Desarrollo web avanzado con PHP 5                      Bloque III: PHP y XML
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5
3.2. Algunos ejemplos de XML




  Un ejemplo sobre películas
  Almacenar en un XML información sobre las películas nominadas a
  los Óscar 2010




Desarrollo web avanzado con PHP 5                     Bloque III: PHP y XML
3.2. Algunos ejemplos de XML


  Un ejemplo sobre películas
  <?xml version='1.0' ?>
  <peliculas>
    <pelicula lang="en">
        <titulo>Avatar</titulo>
        <direccion>
           <director>James Cameron</director>
        </direccion>
     </pelicula>
  </peliculas>



Desarrollo web avanzado con PHP 5           Bloque III: PHP y XML
3.2. Algunos ejemplos de XML


    Un ejemplo sobre películas
   Comprobamos que nuestro XML valida correctamente




   http://www.w3schools.com/xml/xml_validator.asp




Desarrollo web avanzado con PHP 5                     Bloque III: PHP y XML
3.2. Algunos ejemplos de XML

  Un ejemplo sobre recetas
  Almacenar en un XML información sobre recetas de cocina. Cada
  receta de cocina tendrá:
  •   Nombre de la receta
  •   Ingredientes
  •   Tiempo
  •   Nivel (básico, medio o avanzado)
  •   Preparación
  •   Puntuación
                                         Recomendación: http://www.canalcocina.es/


Desarrollo web avanzado con PHP 5                           Bloque III: PHP y XML
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5
3.3. SimpleXML - Instalación

        <?php echo phpinfo(); ?>




Desarrollo web avanzado con PHP 5   Bloque III: PHP y XML
3.3. SimpleXML


 Un ejemplo sobre películas
   1. Cargar el XML
   (http://dl.dropbox.com/u/8522637/peliculas.xml)
   2. Acceder a todas las películas
   3. Seleccionar una película
   4. Seleccionar los actores de una película
   5. Añadir un actor nuevo a una película
   6. Guardar el XML generado en el archivo

Desarrollo web avanzado con PHP 5                    Bloque III: PHP y XML
3.3. SimpleXML


   El objeto SimpleXMLElement representa cualquier nodo de un archivo
   XML, por tanto el propio XML será un SimpleXMLElement


     $xml = 
     new SimpleXMLElement('peliculas.xml', null, true);

   O bien
     $xml = simplexml_load_file('peliculas.xml');




Desarrollo web avanzado con PHP 5                     Bloque III: PHP y XML
3.3. SimpleXML


   Accedemos a los hijos como si fueran atributos del objeto

   $peliculas = $xml­>pelicula


   Podemos seleccionar un hijo como si fuera un elemento de un array

   $pelicula = $xml­>pelicula[0];




Desarrollo web avanzado con PHP 5                        Bloque III: PHP y XML
3.3. SimpleXML


   Podemos utilizar foreach para recorrer todo un árbol


    foreach( $xml­>pelicula as $pelicula)
    {
       echo $pelicula­>titulo;
    }




Desarrollo web avanzado con PHP 5                         Bloque III: PHP y XML
3.3. SimpleXML


   Permite una interfaz fluido, esto es, cualquier método o atributo
   devuelve un elemento SimpleXML sobre el que podemos volver a
   operar

   $xml­>pelicula[0]
       ­>direccion[0]
       ­>director;




Desarrollo web avanzado con PHP 5                        Bloque III: PHP y XML
3.3. SimpleXML


   También podemos añadir elementos a cualquier nodo


    $direccion = $xml­>pelicula[0]­>direccion[0];

    $direccion­>addChild('director', 'Javi López');




Desarrollo web avanzado con PHP 5                      Bloque III: PHP y XML
3.3. SimpleXML


   Y hasta podemos guardarlo en un archivo


    $xml­>asXML('peliculas.bk.xml');




Desarrollo web avanzado con PHP 5            Bloque III: PHP y XML
3.3. SimpleXML


   Toda la documentación necesaria sobre SimpleXML




    http://php.net/manual/es/book.simplexml.php




Desarrollo web avanzado con PHP 5                    Bloque III: PHP y XML
3.3. SimpleXML


 Un ejemplo sobre recetas de cocina
   1. Cargar el XML
   2. Acceder a todas las recetas
   3. Seleccionar una receta y ver su preparación
   4. Seleccionar una receta y ver sus ingredientes
   5. Añadir una nueva receta
   6. Guardar el XML generado un archivo



Desarrollo web avanzado con PHP 5                     Bloque III: PHP y XML
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5
3.4. Servicios Web


   Según la wikipedia


    Un servicio web (en inglés, Web service) es un 
    conjunto de protocolos y estándares que sirven para 
    intercambiar datos entre aplicaciones.




Desarrollo web avanzado con PHP 5           Bloque III: PHP y XML
3.4. Servicios Web

   Utilizando XML como servicio web


   Ventajas                            Inconvenientes

   1. Independiente de la plataforma   1. Grado de desarrollo

   2. Basado en un estándar fácil de   2. Rendimiento bajo
   aprender y entender
                                       3. Poco seguro (¿?)
   3. Basado en HTTP




Desarrollo web avanzado con PHP 5                       Bloque III: PHP y XML
3.4. Servicios Web

   Quién esta apostando por servicios web basados en XML




Desarrollo web avanzado con PHP 5                    Bloque III: PHP y XML
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5
3.5. Conéctandose con un canal RSS


                                                  RSS – Really Simple Sindacation



                                                  Permite la ¿sindicación de
                                                  contenidos?




 La sindicación web (redifusión web) reenvío o reemisión de contenidos desde una fuente original
 (sitio web de origen) hasta otro sitio web de destino (receptor) que a su vez se convierte en emisor
 puesto que pone a disposición de sus usuarios los contenidos a los que en un principio sólo podían
 tener acceso los usuarios del sitio web de origen.




Desarrollo web avanzado con PHP 5                                                   Bloque III: PHP y XML
3.5. Conéctandose con un canal RSS




   Google Reader




Desarrollo web avanzado con PHP 5      Bloque III: PHP y XML
3.5. Conéctandose con un canal RSS




          Un ejemplo: consumiendo un canal RSS




Desarrollo web avanzado con PHP 5           Bloque III: PHP y XML
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5
Bloque III: PHP y XML
                1. ¿Qué es XML?
                2. Algunos ejemplos de XML
                3. SimpleXML
                4. Servicios Web
                5. Conectándose con un canal RSS
                6. Mostrando mis fotos de Flickr
                7. Listando mis últimos tweets




Desarrollo web avanzado con PHP5

Más contenido relacionado

La actualidad más candente

Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework SymfonyRodrigo Miranda
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Edgar Dueñas
 
Symfony2 Formacion y primeros pasos
Symfony2  Formacion y primeros pasosSymfony2  Formacion y primeros pasos
Symfony2 Formacion y primeros pasosSoni BM
 
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Raul Fraile
 
Mi primer programa en Symfony2
Mi primer programa en Symfony2Mi primer programa en Symfony2
Mi primer programa en Symfony2César Hernández
 
Programacion Orientada a Objetos en php
Programacion Orientada a Objetos en phpProgramacion Orientada a Objetos en php
Programacion Orientada a Objetos en phpSamuel Piñon Garcia
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Raul Fraile
 
desarrolo de sitios web php y mysql
desarrolo de sitios web php y mysqldesarrolo de sitios web php y mysql
desarrolo de sitios web php y mysqlJuan Timoteo Cori
 
Las buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones SymfonyLas buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones Symfonysymfony_bcn
 
Iniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónIniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónRightster
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularFreelancer
 
Iniciación PHP 5. Ejercicios
Iniciación PHP 5. EjerciciosIniciación PHP 5. Ejercicios
Iniciación PHP 5. EjerciciosRightster
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plonementtes
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Yaismel Miranda
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVIrontec
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completoAndrés Amaya
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan phpCarlos Zantana
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRJuan Belón Pérez
 

La actualidad más candente (20)

Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Symfony2 Formacion y primeros pasos
Symfony2  Formacion y primeros pasosSymfony2  Formacion y primeros pasos
Symfony2 Formacion y primeros pasos
 
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5
 
Mi primer programa en Symfony2
Mi primer programa en Symfony2Mi primer programa en Symfony2
Mi primer programa en Symfony2
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
Programacion Orientada a Objetos en php
Programacion Orientada a Objetos en phpProgramacion Orientada a Objetos en php
Programacion Orientada a Objetos en php
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5
 
desarrolo de sitios web php y mysql
desarrolo de sitios web php y mysqldesarrolo de sitios web php y mysql
desarrolo de sitios web php y mysql
 
Las buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones SymfonyLas buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones Symfony
 
Symfony Parte 2
Symfony Parte 2Symfony Parte 2
Symfony Parte 2
 
Iniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónIniciación PHP 5. Introducción
Iniciación PHP 5. Introducción
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Iniciación PHP 5. Ejercicios
Iniciación PHP 5. EjerciciosIniciación PHP 5. Ejercicios
Iniciación PHP 5. Ejercicios
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPV
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan php
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
 

Destacado

Iniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidorIniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidorRightster
 
Beyond Virtualisation
Beyond VirtualisationBeyond Virtualisation
Beyond VirtualisationRightster
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Ángel Acaymo M. G.
 
Users - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQLUsers - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQLAndrés Pizarro
 
Programacion Estructurada en C - Antonakos
Programacion Estructurada en C - AntonakosProgramacion Estructurada en C - Antonakos
Programacion Estructurada en C - AntonakosGustavo Tello Pais
 
Presentación Framework CodeIgniter
Presentación Framework CodeIgniter Presentación Framework CodeIgniter
Presentación Framework CodeIgniter ADWE Team
 
#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?
#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?
#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?madridgeekgirls
 
Metodologia de una tesis1
Metodologia de una tesis1Metodologia de una tesis1
Metodologia de una tesis1emelec2014
 
Comunicaciones electronicas
Comunicaciones electronicasComunicaciones electronicas
Comunicaciones electronicasXavier Ribas
 
Las redes sociales jose luis de la mata
Las redes sociales jose luis de la mataLas redes sociales jose luis de la mata
Las redes sociales jose luis de la mataConfesorAD
 
Procedimiento de notificacion de infracciones a ISP
Procedimiento de notificacion de infracciones a ISPProcedimiento de notificacion de infracciones a ISP
Procedimiento de notificacion de infracciones a ISPXavier Ribas
 
Cookies
CookiesCookies
Cookies1 2d
 
Guía de Cookies (Vídeo)
Guía de Cookies (Vídeo)Guía de Cookies (Vídeo)
Guía de Cookies (Vídeo)Xavier Ribas
 
Propiedad intelectual e Internet - Gigantes o molinos?
Propiedad intelectual e Internet - Gigantes o molinos?Propiedad intelectual e Internet - Gigantes o molinos?
Propiedad intelectual e Internet - Gigantes o molinos?Xavier Ribas
 
Responsabilidad de los Directores de Sistemas
Responsabilidad de los Directores de SistemasResponsabilidad de los Directores de Sistemas
Responsabilidad de los Directores de SistemasXavier Ribas
 

Destacado (20)

Iniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidorIniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidor
 
Beyond Virtualisation
Beyond VirtualisationBeyond Virtualisation
Beyond Virtualisation
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.
 
Users - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQLUsers - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQL
 
Programacion Estructurada en C - Antonakos
Programacion Estructurada en C - AntonakosProgramacion Estructurada en C - Antonakos
Programacion Estructurada en C - Antonakos
 
MVC
MVCMVC
MVC
 
Febrero 2009 - Presentación PFC AGritos!
Febrero 2009 - Presentación PFC AGritos!Febrero 2009 - Presentación PFC AGritos!
Febrero 2009 - Presentación PFC AGritos!
 
Presentación Framework CodeIgniter
Presentación Framework CodeIgniter Presentación Framework CodeIgniter
Presentación Framework CodeIgniter
 
#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?
#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?
#Mgghub Cookies y privacidad ¿Cumple tu web con la ley?
 
Metodologia de una tesis1
Metodologia de una tesis1Metodologia de una tesis1
Metodologia de una tesis1
 
Comunicaciones electronicas
Comunicaciones electronicasComunicaciones electronicas
Comunicaciones electronicas
 
Web Analytics | Clase 1/4
Web Analytics | Clase 1/4Web Analytics | Clase 1/4
Web Analytics | Clase 1/4
 
Las redes sociales jose luis de la mata
Las redes sociales jose luis de la mataLas redes sociales jose luis de la mata
Las redes sociales jose luis de la mata
 
Procedimiento de notificacion de infracciones a ISP
Procedimiento de notificacion de infracciones a ISPProcedimiento de notificacion de infracciones a ISP
Procedimiento de notificacion de infracciones a ISP
 
Cookies
CookiesCookies
Cookies
 
Cookies: ¿Cómo funcionan?
Cookies: ¿Cómo funcionan?Cookies: ¿Cómo funcionan?
Cookies: ¿Cómo funcionan?
 
Guía de Cookies (Vídeo)
Guía de Cookies (Vídeo)Guía de Cookies (Vídeo)
Guía de Cookies (Vídeo)
 
Propiedad intelectual e Internet - Gigantes o molinos?
Propiedad intelectual e Internet - Gigantes o molinos?Propiedad intelectual e Internet - Gigantes o molinos?
Propiedad intelectual e Internet - Gigantes o molinos?
 
PHP: Sesiones
PHP: SesionesPHP: Sesiones
PHP: Sesiones
 
Responsabilidad de los Directores de Sistemas
Responsabilidad de los Directores de SistemasResponsabilidad de los Directores de Sistemas
Responsabilidad de los Directores de Sistemas
 

Similar a PHP XML SimpleXML (20)

Frameworks de templates y xml
Frameworks de templates y xmlFrameworks de templates y xml
Frameworks de templates y xml
 
Curso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklanCurso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklan
 
Materiales del curso de Symfony2
Materiales del curso de Symfony2Materiales del curso de Symfony2
Materiales del curso de Symfony2
 
Elementos de html5 y css3
Elementos de html5 y css3Elementos de html5 y css3
Elementos de html5 y css3
 
Dale Stamina A Tu Flex App Con Amfphp
Dale Stamina A Tu Flex App Con AmfphpDale Stamina A Tu Flex App Con Amfphp
Dale Stamina A Tu Flex App Con Amfphp
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
 
Joomla! Curso Noviembre
Joomla! Curso NoviembreJoomla! Curso Noviembre
Joomla! Curso Noviembre
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
 
Html5
Html5Html5
Html5
 
Integrando Flex Y Spring
Integrando Flex  Y SpringIntegrando Flex  Y Spring
Integrando Flex Y Spring
 
4 Guia Xhtm Lv2.1
4   Guia Xhtm Lv2.14   Guia Xhtm Lv2.1
4 Guia Xhtm Lv2.1
 
Curso Mu
Curso MuCurso Mu
Curso Mu
 
Joomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates WorkshopJoomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates Workshop
 
Semana 2 Arquitectura web y HTML 5
Semana 2   Arquitectura web y HTML 5Semana 2   Arquitectura web y HTML 5
Semana 2 Arquitectura web y HTML 5
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
 
Luis html
Luis htmlLuis html
Luis html
 
Presentación1
Presentación1Presentación1
Presentación1
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
 
Tema4.pdf
Tema4.pdfTema4.pdf
Tema4.pdf
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (15)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

PHP XML SimpleXML

  • 1. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5
  • 2. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5
  • 3. 3.1. ¿Qué es XML? <?xml version=” 1.0” encoding=” utf-8” ? > <mensaje>Hola Mundo</mensaje> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 4. 3.1. ¿Qué es XML? eXtensible Markup Language XML es un lenguaje de etiquetas, como HTML XML está diseñado para transportar información, no para mostrarla XML no tiene etiquetas predefinidas. Tú puedes definir las tuyas XML está diseñado para ser auto-explicativo XML es una recomendación del W3C XML no hace nada Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 5. 3.1. ¿Qué es XML? Definición del tipo de documento Tiene que ser la primera línea del documento <?xml version=” 1.0” encoding=” utf-8” ? > Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 6. 3.1. ¿Qué es XML? Elementos XML XML es case-sensitive <mensaje>Hola Mundo</mensaje> Es distinto de <Mensaje>Hola Mundo</Mensaje> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 7. 3.1. ¿Qué es XML? Elementos XML El nombre de un elemento 1. Puede contener letras, números, puntos, dos puntos y acentos 2. Sólo pueden empezar por letras 3. No pueden empezar con las letras XML (o xml, o Xml, …) 4. No pueden contener espacios en blanco Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 8. 3.1. ¿Qué es XML? Elementos XML Todas las etiquetas tienes que estar debidamente cerradas <mensaje>Hola Mundo</mensaje> O si tienen ningún contenido <Mensaje /> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 9. 3.1. ¿Qué es XML? Elementos XML Cualquier XML tiene uno y solo un elemento raíz <?xml version=” 1.0” ?> <?xml version=” 1.0” ?> <peliculas> <pelicula> <pelicula> Avatar Avatar </pelicula> </pelicula> <pelicula> <pelicula> Distrito 9 Distrito 9 </pelicula> </pelicula> </peliculas> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 10. 3.1. ¿Qué es XML? Elementos XML Los elementos deben estar correctamente anidados <peliculas> <pelicula> <directores> <director>James Cameron</director> </directores> </pelicula> </peliculas> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 11. 3.1. ¿Qué es XML? Atributos XML Normalmente son utilizados para almacenar metainformación del elemento <mensaje lang=” es” >Hola Mundo</mensaje> Podemos usar tanto comillas simples como dobles <mensaje lang='es' >Hello World</mensaje> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 12. 3.1. ¿Qué es XML? Espacios en blanco Se entiende por “espacio en blanco” saltos de carros, sangrados, tabulaciones y por supuesto, un espacio Son obligatorios para separar el nombre de un atributo del nombre del elemento Son aconsejados para permitir una mejor lectura del documento (tabulaciones para indicar anidaciones) Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 13. 3.1. ¿Qué es XML? Espacios en blanco < mensaje lang=” es” >Hola Mundo</mensaje > Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 14. 3.1. ¿Qué es XML? Espacios en blanco <peliculas><pelicula><directores> <director>James Cameron</director> </directores></pelicula></peliculas> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 15. 3.1. ¿Qué es XML? XML válidos y bien formados XML bien formados – cumplen con las reglas del W3C http://www.w3schools.com/XML/xml_validator.asp XML válidos – cumplen con las especificaciones de un DTD o Schema Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 16. 3.1. ¿Qué es XML? El ecosistema XML DTD Namespaces Document Type Definition Schema XML XForms XPath XSLT Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 17. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5
  • 18. 3.2. Algunos ejemplos de XML Un ejemplo sobre películas Almacenar en un XML información sobre las películas nominadas a los Óscar 2010 Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 19. 3.2. Algunos ejemplos de XML Un ejemplo sobre películas <?xml version='1.0' ?> <peliculas>   <pelicula lang="en"> <titulo>Avatar</titulo> <direccion> <director>James Cameron</director> </direccion> </pelicula> </peliculas> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 20. 3.2. Algunos ejemplos de XML Un ejemplo sobre películas Comprobamos que nuestro XML valida correctamente http://www.w3schools.com/xml/xml_validator.asp Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 21. 3.2. Algunos ejemplos de XML Un ejemplo sobre recetas Almacenar en un XML información sobre recetas de cocina. Cada receta de cocina tendrá: • Nombre de la receta • Ingredientes • Tiempo • Nivel (básico, medio o avanzado) • Preparación • Puntuación Recomendación: http://www.canalcocina.es/ Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 22. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5
  • 23. 3.3. SimpleXML - Instalación <?php echo phpinfo(); ?> Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 24. 3.3. SimpleXML Un ejemplo sobre películas 1. Cargar el XML (http://dl.dropbox.com/u/8522637/peliculas.xml) 2. Acceder a todas las películas 3. Seleccionar una película 4. Seleccionar los actores de una película 5. Añadir un actor nuevo a una película 6. Guardar el XML generado en el archivo Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 25. 3.3. SimpleXML El objeto SimpleXMLElement representa cualquier nodo de un archivo XML, por tanto el propio XML será un SimpleXMLElement $xml =  new SimpleXMLElement('peliculas.xml', null, true); O bien $xml = simplexml_load_file('peliculas.xml'); Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 26. 3.3. SimpleXML Accedemos a los hijos como si fueran atributos del objeto $peliculas = $xml­>pelicula Podemos seleccionar un hijo como si fuera un elemento de un array $pelicula = $xml­>pelicula[0]; Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 27. 3.3. SimpleXML Podemos utilizar foreach para recorrer todo un árbol foreach( $xml­>pelicula as $pelicula) { echo $pelicula­>titulo; } Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 28. 3.3. SimpleXML Permite una interfaz fluido, esto es, cualquier método o atributo devuelve un elemento SimpleXML sobre el que podemos volver a operar $xml­>pelicula[0]     ­>direccion[0]     ­>director; Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 29. 3.3. SimpleXML También podemos añadir elementos a cualquier nodo $direccion = $xml­>pelicula[0]­>direccion[0]; $direccion­>addChild('director', 'Javi López'); Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 30. 3.3. SimpleXML Y hasta podemos guardarlo en un archivo $xml­>asXML('peliculas.bk.xml'); Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 31. 3.3. SimpleXML Toda la documentación necesaria sobre SimpleXML http://php.net/manual/es/book.simplexml.php Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 32. 3.3. SimpleXML Un ejemplo sobre recetas de cocina 1. Cargar el XML 2. Acceder a todas las recetas 3. Seleccionar una receta y ver su preparación 4. Seleccionar una receta y ver sus ingredientes 5. Añadir una nueva receta 6. Guardar el XML generado un archivo Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 33. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5
  • 34. 3.4. Servicios Web Según la wikipedia Un servicio web (en inglés, Web service) es un  conjunto de protocolos y estándares que sirven para  intercambiar datos entre aplicaciones. Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 35. 3.4. Servicios Web Utilizando XML como servicio web Ventajas Inconvenientes 1. Independiente de la plataforma 1. Grado de desarrollo 2. Basado en un estándar fácil de 2. Rendimiento bajo aprender y entender 3. Poco seguro (¿?) 3. Basado en HTTP Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 36. 3.4. Servicios Web Quién esta apostando por servicios web basados en XML Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 37. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5
  • 38. 3.5. Conéctandose con un canal RSS RSS – Really Simple Sindacation Permite la ¿sindicación de contenidos? La sindicación web (redifusión web) reenvío o reemisión de contenidos desde una fuente original (sitio web de origen) hasta otro sitio web de destino (receptor) que a su vez se convierte en emisor puesto que pone a disposición de sus usuarios los contenidos a los que en un principio sólo podían tener acceso los usuarios del sitio web de origen. Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 39. 3.5. Conéctandose con un canal RSS Google Reader Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 40. 3.5. Conéctandose con un canal RSS Un ejemplo: consumiendo un canal RSS Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML
  • 41. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5
  • 42. Bloque III: PHP y XML 1. ¿Qué es XML? 2. Algunos ejemplos de XML 3. SimpleXML 4. Servicios Web 5. Conectándose con un canal RSS 6. Mostrando mis fotos de Flickr 7. Listando mis últimos tweets Desarrollo web avanzado con PHP5