Foros del Web » Programando para Internet » PHP »

PHP OO removeChild para xml

Estas en el tema de removeChild para xml en el foro de PHP en Foros del Web. Buenas a todos, necesito eliminar un nodo xml desde php pero aun no doy con el chiste.. El formato del xml es el siguiente: Los ...
  #1 (permalink)  
Antiguo 12/07/2011, 17:29
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 10 años, 6 meses
Puntos: 27
removeChild para xml

Buenas a todos, necesito eliminar un nodo xml desde php pero aun no doy con el chiste..
El formato del xml es el siguiente:




Los nodos que aparecen encerrados en recuadros son lo que debo eliminar
Por ejemplo para eliminar el nodo diagno, lo hago de la siguiente forma:
Código PHP:
Ver original
  1. <?php
  2.  $id=$_POST['id'];
  3.  $archivo=$_POST['archivo'];
  4.  $doc = new DOMDocument;
  5.  $doc->load($archivo);
  6.  $x = $doc->documentElement;
  7.  $y = $x->getElementsByTagName('diagno')->item($id);
  8.  $oldy = $x->removeChild($y);
  9.  $doc->save($archivo);
  10. ?>

Y lo elimina correctamente, intento hacer lo mismo para eliminar diagpos, que se encuentra dentro de nopos, y este a su vez dentro de justi, pero no me funciona,

Código PHP:
Ver original
  1. <?php
  2.  $doc = new DOMDocument;
  3.  $doc->load($archivo);
  4.  $x = $doc->documentElement;
  5.  $y = $x->getElementsByTagName('diagpos')->item($id);
  6.  $oldy = $x->removeChild($y);
  7.   $doc->save($archivo);
  8. ?>

me genera el siguiente error:

Fatal error: Uncaught exception 'DOMException' with message 'Not Found Error' in C:\AppServ\www\dev\intranet\histoclin\hcclini.php: 2230 Stack trace: #0 C:\AppServ\www\dev\intranet\histoclin\hcclini.php( 2230): DOMNode->removeChild(Object(DOMElement)) #1 {main} thrown in C:\AppServ\www\dev\intranet\histoclin\hcclini.php on line 2230

la linea es:

$oldy = $x->removeChild($y);


Alguien sabe o tiene algun ejemplo o algun enlace de como eliminar subnodos en xml?....Agradezco me puedan colaborar.....muchas gracias...
  #2 (permalink)  
Antiguo 12/07/2011, 17:49
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 10 años, 6 meses
Puntos: 27
Respuesta: removeChild para xml

[SOLUCIONADO]

De la siguiente manera:
Código PHP:
Ver original
  1. <?php
  2. $id=$_POST['fila'];
  3.  $doc = new DOMDocument;
  4. $doc->load($archivo);
  5.  $x = $doc->documentElement;
  6.  $y = $x->getElementsByTagName('diagpos')->item($id);
  7.  $y->parentNode->removeChild($y);
  8.  $doc->save($archivo);
  9. ?>

Caasii que nooo..de todos modos gracias...

Etiquetas: removechild, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:27.