Curso POO PHP e XML
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)