Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Eliminar elemento de un XML con un cierto parametro en PHP

Estas en el tema de Eliminar elemento de un XML con un cierto parametro en PHP en el foro de PHP en Foros del Web. Buen dia, sucede que tengo un XML de la forma: Código HTML: <mensajes> <mensaje> <nombre> luis </nombre> </mensaje> <mensaje> <nombre> pedro </nombre> </mensaje> </mensajes> Y ...
  #1 (permalink)  
Antiguo 05/12/2013, 23:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 2
Eliminar elemento de un XML con un cierto parametro en PHP

Buen dia, sucede que tengo un XML de la forma:

Código HTML:
<mensajes>
<mensaje>
<nombre>luis</nombre>
</mensaje>
<mensaje>
<nombre>pedro</nombre>
</mensaje>
</mensajes> 
Y quisiera eliminar el elemento mensaje que tenga como nombre luis. Por ahora he intentado el siguiente codigo pero no pasa nada:

Código PHP:
$xdoc = new DOMDocument();
$xdoc->load('listas.xml');

$lats $xdoc->getElementsByTagName('mensajes')->item(0);
$xdoc->documentElement->removeChild('nombre''luis');    
        
$xdoc->save('listas.xml'); 
Gracias
  #2 (permalink)  
Antiguo 06/12/2013, 07:08
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 8 meses
Puntos: 96
Respuesta: Eliminar elemento de un XML con un cierto parametro en PHP

Revisa la documentacion http://www.php.net/manual/es/domnode.removechild.php
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 06/12/2013, 08:37
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Eliminar elemento de un XML con un cierto parametro en PHP

Te dejo este ejercicio que hice, a ver si te sirve:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $xml = '<mensajes>
  4. <mensaje>
  5. <nombre>luis</nombre>
  6. </mensaje>
  7. <mensaje>
  8. <nombre>pedro</nombre>
  9. </mensaje>
  10. </mensajes>';
  11.  
  12. $doc = new DOMDocument();
  13. $doc->preserveWhiteSpace = false;
  14. $doc->loadXML($xml);
  15. $mensajes = $doc->getElementsByTagName('mensajes')->item(0);
  16. $xpath = new DOMXPath($doc);
  17. $q = $xpath->query('//nombre[text()="luis"]');
  18. $mensajes->removeChild($q->item(0)->parentNode);
  19. echo $doc->saveXML(); //aquí está tu XML ( $doc->saveXML() ), faltaría guardarlo nada más.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 06/12/2013, 09:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Eliminar elemento de un XML con un cierto parametro en PHP

Gracias por sus respuestas, xSkArx vengo precisamente de allí, pero no por leer significa que se entiende. andresdzphp me sirvió de maravillas, de verdad muchas gracias.

Última edición por nilotrajano; 06/12/2013 a las 09:32

Etiquetas: elemento, parametro, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.