[eside-ghost] formulario PHP para añadir datos en XML -- era ( formulario php para subir archivos via FTP )

Alfredo Beaumont alfredo.beaumont en gmail.com
Jue Mar 27 20:12:15 CET 2008


Og, 2008eko Marren 27a(e)an, altern(e)k idatzi zuen:
> Alfredo Beaumont(e)k dio:
> > Az, 2008eko Marren 26a(e)an, altern(e)k idatzi zuen:
> > [...]
> >
> >> No me empapo muy bien del PHP pq estoy acostumbrado a usar Python y se
> >> me hace un poco raro leer la syntasis de php en los ejemplos que
> >> encuentro. Esto es mas o menos el codigo que estoy probando ahora. Casca
> >> pq $markers no tiene un metodo appendChild() al ser un objeto tipo
> >> DOMNodeList
> >>
> >>
> >>    $doc = new DOMDocument();
> >>    $doc->load( 'data.xml' );
> >>    $doc->formatOutput = true;
> >>
> >>    $markers = $doc->getElementsByTagName("markers")
> >>
> >>    $m = $doc->createElement( "marker" );
> >>
> >>    $lat = $doc->createElement( "nombre" );
> >>    $lat->appendChild( $doc->createTextNode( "xxxnombre" ) );
> >>    $m->appendChild( $lat );
> >>
> >>    $markers.appendChild($m); // **Aqui casca!!****
> >>
> >>    $doc->saveXML();
> >>    $doc->save("data.xml")
> >
> > No se si lo he entendido muy bien, pero si lo que quieres es ir añadiendo
> > elementos de tipo 'marker', tal como parece indicar el ejemplo, lo único
> > que necesitas es convertir el DOMNodeList en un DOMElement. En este caso
> > es trivial, ya que el DOMNodeList sólo tiene un elemento:
> >
> > $markers_element = $markers->item(0);
> > $markers_element->appendChild(0);
>
> estoy teniendo un problema raro, al probar en el servidor final donde va
> a funcionar el script (antes estaba en uno mio para probar) se me queda
> parado en
> $doc->load("data.xml");
> Hago un echo en la linea siguiente y no llega a ejecutarse nunca. No
> pasa de ahi, he probado a dejar el archivo xml con solo una entrada por
> si era un problema de memoria del servidor pero nada. No me da ningun
> error, y en el otro servidor exactamente los mismos archivos van bien.

¿En el servidor final tienes PHP5 o PHP4? PHP4 tiene otra API para XML.

Saludos
-- 
Alfredo Beaumont Sainz
http://www.alfredobeaumont.org/blog.cgi


Más información sobre la lista de distribución eside-ghost