[eside-ghost] formulario PHP para añadir datos en XML -- era ( formulario php para subir archivos via FTP )
altern
altern2 en gmail.com
Jue Mar 27 22:05:01 CET 2008
Alfredo Beaumont(e)k dio:
> 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.
ah.... claro
he hecho un "echo phpinfo();" y me sale que es PHP/4.3.9
asi que tengo que buscar el equivalente a load() en php4 dentro de DOM
XML Functions supongo.
Más información sobre la lista de distribución eside-ghost