Re: [PHP-ES] Pregunta sobre XML y PHP (usando SimpleXML)
by Martin Alterisio other posts by this author
Jun 21 2006 10:02AM messages near this date
[PHP-ES] Pregunta sobre XML y PHP (usando SimpleXML)
|
Re: [PHP-ES] Pregunta sobre XML y PHP (usando SimpleXML)
El d�a 21/06/06, Gustavo Azambuja <gazambuja@[...].uy> escribi�:
>
> Estimados listeros:
> Estoy armando un sistema que guarda una configuraci�n en un fichero xml,
> osea, lo quiero usar como una base de datos ya que los datos son pocos y
> necesito que se pueda descargar el archivo f�cilmente.
> Hasta ahora lo que tengo armado es lo siguiente:
>
>
> --------------------------------------------------------------------
> <?xml version='1.0' standalone='no'?>
> <configuracion>
>
> <usuario><user>admin</user><descripcion>Administrador</descripcion><grupo>correo</grupo><c
lave> pass</clave></usuario>
> </configuracion>
>
> --------------------------------------------------------------------
> $config_file="/path/config.xml";
>
> //Funcion para agregar un usuario al sistema:
> function config_adduser($nombre, $clave, $grupo, $desc){
> global $config_file;
> //Agrego el usuario a la base de datos XML
> $xml = simplexml_load_file($config_file);
> $xmltmp = $xml->addChild('usuario');
> $xmltmp->addChild('user', trim($nombre));
> $xmltmp->addChild('clave', trim($clave));
> $xmltmp->addChild('grupo', $grupo);
> $xmltmp->addChild('descripcion', trim($desc));
> config_save($xml->asXML());
> unset($xml);
> unset($xmltmp);
> }
> //Guarda la configuraci�n nueva en el xml.
> function config_save($contenido){
> global $config_file;
>
> $nombre_archivo = $config_file;
> $gestor= fopen($nombre_archivo, 'w');
> fwrite($gestor, $contenido);
> fclose($gestor);
> }
> --------------------------------------------------------------------
>
> Lo que me falta es como eliminar un nodo, por ejemplo si agrego el usuario
> prueba quedar�a:
>
> --------------------------------------------------------------------
> <?xml version='1.0' standalone='no'?>
> <configuracion>
>
> <usuario><user>admin</user><descripcion>Administrador</descripcion><grupo>correo</grupo><c
lave> pass</clave></usuario>
>
> <usuario><user>prueba</user><descripcion>Prueba</descripcion><grupo>correo</grupo><clave>p
ass</clave> </usuario>
> </configuracion>
>
> y si luego lo quiero borrar los datos del usuario prueba, ��como hago??
>
> Saludos,
> Gustavo
>
> --
> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
No hay funcion documentada para eliminar nodos en simplexml, podes intentar
usar unset() para eliminar el hijo directamente de entre las propiedades del
objeto, pero no lo recomiendo ya que no esta documentado como reacciona el
objeto a esta modificacion. Te recomiendo ver http://php.net/dom y tratar de
trabajar solo con eso o combinando esa libreria y la libreria simplexml.
Thread:
Gustavo Azambuja
Martin Alterisio
Pvergara@Tqr.Biz
Gustavo Azambuja
Pvergara@Tqr.Biz
|