Pear + XML_Parser + php

Tipler tipler en gmail.com
Mie Ene 19 14:01:31 CLST 2005


gracias Cristian por el dato .. con esto adelante un paso más ..

si coloco esto ..
---
function startHandler($xp, $name, $attribs) {
   print $name;
}

function cdataHandler($xp, $data) {
       print $data;
}

function endHandler($xp, $name) {
    print $name."<br>";
}
----

obtengo esto ..

  <description>Mi sitio</description>
  <url>http://localhost/</url>
   .
   .
  <url>http://localhost/</url>

... ahora me gustaria formatear esto que obtengo ...
Teniendo en cuenta que es una clase esto podría hacerlo llamando a un
objeto o similar? digamos una cosa así:  $data->description

.. o tengo que empezar a colocar SWITCH en la funcion endHandler()?
como cuando uno parsea el xml con el parser nativo de php?

gracias..
Tipler


On Wed, 19 Jan 2005 01:16:36 -0300, Cristian Gutierrez
<crgutier en dcc.uchile.cl> wrote:
> Ayer en la noche, tipler en gmail.com dijo:
> > si, si .. el ejemplo va perfecto para conocer los nombres de las
> > etiquetas ...  lo probe y funciona ..
> >
> > ahora, como hago para acceder al contenido que se encuentra entre las
> > etiquetas?  esa es la duda ..
> 
> La verdad es que se lo saltaron olimpicamente en la documentacion (hint:
> reporta el bug), pero luego de mirar el codigo del modulo (y entender
> algo de SAX) es claro que hay que sobreescribir la funcion
> `cdataHandler', que recibe los caracteres leidos:
> 
>    function cdataHandler($xp, $data)
>    {
>        // hacer algo con $data
>    }
> 
> Yo normalmente guardo lo leido en una variable ($buffer), que utilizo en
> endHandler para alguna cosa (ahi se que termino un tag) y acto seguido
> lo "blanqueo", para empezar a acumular los caracteres que vienen. Todo
> depende de tu aplicacion, a esta altura.
> 
> --
> Cristian Gutierrez                      http://www.dcc.uchile.cl/~crgutier
> crgutier[@]dcc.uchile.cl                        Jabber:crgutier en jabber.org
> 
> Debugging is twice as hard as writing the code in the first
> place. Therefore, if you write the code as cleverly as possible, you
> are, by definition, not smart enough to debug it. -- Kernighan
> 
>



Más información sobre la lista de distribución Linux