Curso POO PHP e XML

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

PHP e XML

XML é unha linguaxe de marcado moi empregada na actualidade. Está deseñado para almacenar e compartir información. Se non estás familiarizado coas características e a estructura dun documento XML, podes botarlle unha ollada ás primeiras páxinas dos contidos da asignatura Linguaxes de Marcas e Sistemas de Xestión da Información.

Todas as linguaxes de programación empregadas na actualidade permiten manexar dun xeito u outro documentos XML e a súa información. Ao código que nos permite traballar con documentos XML chámaselle analizador XML (ou en inglés, XML parser). En PHP, dende a versión 5, temos varias extensións incluídas na linguaxe que nolo permiten facer.

Os analizadores XML poden clasificarse en tres tipos, dependendo da súa forma de traballar:

  • Analizadores DOM (do inglés Document Object Model). Cargan o documento XML enteiro en memoria para despois traballar con el. Son moi potentes pero teñen a dasvantaxe de consumir memoria en función da lonxitude do documento XML co que traballen. En PHP podemos utilizar dous analizadores DOM: SimpleXML e DOM.
  • Analizadores SAX (do inglés Simple API for XML, tamén chamados analizadores push). Permiten definir manexadores de eventos que se executan a medida que se vai percorrendo o documento. Son máis simples e menos potentes que os analizadores DOM, e non comproban se os documentos cos que traballan están ou non ben formados. En PHP podemos empregar o analizador SAX XMLParser.
  • Analizadores pull. Con este tipo de analizadores imos collendo e procesando pequenos anacos do documento XML de un en un. Ao igual que os analizadores SAX, supoñen que os documentos cos que traballan están ben formados. A principal vantaxe fronte a SAX é que non é preciso percorrer o documento enteiro unha vez atopado o que necesitamos. En PHP podemos empregar os analizadores pull XMLReader e XMLWriter, para ler e escribir documentos XML respectivamente.

Documento XML de exemplo

Imos ver o xeito de traballar das extensións anteriores. Nos exemplos que figuran nos vindeiros contidos, empregaremos o seguinte documento XML:

<?xml version="1.0" encoding="utf-8"?>
<videoteca data_creación="24/02/2009">
 <película id="1">
  <importe moneda="dólar">13.56</importe>
  <título>El santo</título>
  <títuloorixinal>The Saint</títuloorixinal>
  <ano>1997</ano>
  <director>Phillip Noyce</director>
  <xénero>Acción</xénero>
  <duración>111</duración>
  <!--  Elisabeth Shue -->
  <actúa id="51"/>
  <!--  Val Kilmer -->
  <actúa id="156"/>
 </película>
 <actor id="51">
  <nome>Elisabeth Shue</nome>
  <sexo>muller</sexo>
  <datanacemento>06/10/1963</datanacemento>
  <url>http://www.imdb.com/name/nm0000223/</url>
 </actor>
 <actor id="156">
  <nome>Val Kilmer</nome>
  <sexo>home</sexo>
  <datanacemento>31/12/1959</datanacemento>
 </actor>
</videoteca>


--Víctor Lourido 01:20 24 jul 2013 (CEST)