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