Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2011, 12:13
Avatar de Ale_VH
Ale_VH
 
Fecha de Ingreso: abril-2011
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Pregunta Modificar XML con DOMDocument

Buenas a todos, explico la duda, tengo un documento como el que sigue de xml:

<?xml version="1.0" encoding="UTF-8"?>

<noticias>

<nuevanoticia valor="300520111306777421">
<usuarioadmin>Ale</usuarioadmin>
<titulo><![CDATA[11111111111]]></titulo>
<subtitulo><![CDATA[2222222222222]]></subtitulo>
<imagenpath><![CDATA[../img/Ale Guerrero!!!.jpg]]></imagenpath>
<articulo><![CDATA[Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ante velit, mattis ut dapibus in, auctor a tortor. Donec nisl massa, facilisis quis faucibus eu, aliquet eget lectus. ]]></articulo>
</nuevanoticia>

<nuevanoticia valor="300520111306777488">
<usuarioadmin>Ale</usuarioadmin>
<titulo><![CDATA[5555555555]]></titulo>
<subtitulo><![CDATA[66666666666666]]></subtitulo>
<imagenpath><![CDATA[../img/Ale Guerrero!!!.jpg]]></imagenpath>
<articulo><![CDATA[In suscipit ante vitae leo feugiat eu tempus magna lacinia. Donec eget orci urna. Duis eu velit at diam posuere pretium. Nulla dolor justo, sollicitudin dignissim cursus sed, egestas nec metus. Mauris tristique mollis massa nec iaculis. In in odio leo, ullamcorper interdum dui. Nam viverra ligula sodales mauris convallis non vestibulum nunc volutpat. ]]></articulo>
</nuevanoticia>

<nuevanoticia valor="020620111307035467">
<usuarioadmin>Ale</usuarioadmin>
<titulo><![CDATA[6666666666]]></titulo>
<subtitulo><![CDATA[777777777777]]></subtitulo>
<imagenpath><![CDATA[../img/Ale Guerrero!!!.jpg]]></imagenpath>
<articulo><![CDATA[Escriba lo que desee aquí]]></articulo>
</nuevanoticia>

<nuevanoticia valor="020620111307035565">
<usuarioadmin>Ale</usuarioadmin>
<titulo><![CDATA[77777777777]]></titulo>
<subtitulo><![CDATA[888888888888]]></subtitulo>
<imagenpath><![CDATA[../img/Ale Guerrero!!!.jpg]]></imagenpath>
<articulo><![CDATA[Nullam pretium congue porttitor. In sollicitudin, felis eget faucibus condimentum, nisi diam dictum dolor, eget viverra velit ligula consequat est. Vivamus sem arcu, cursus sed eleifend a, semper a massa. Proin vulputate pellentesque erat, id bibendum tellus vulputate ut. Nam lectus ligula, tempor non gravida sit amet, imperdiet lacinia leo. ]]></articulo>
</nuevanoticia>

<nuevanoticia valor="020620111307035589">
<usuarioadmin>Ale</usuarioadmin>
<titulo><![CDATA[888888888888]]></titulo>
<subtitulo><![CDATA[999999999999999]]></subtitulo>
<imagenpath><![CDATA[../img/Ale Guerrero!!!.jpg]]></imagenpath>
<articulo><![CDATA[Escriba lo que desee aquíEtiam ut ante non mi hendrerit auctor quis id sapien. Suspendisse velit est, vestibulum non commodo venenatis, suscipit eget odio. . ]]></articulo>
</nuevanoticia>

</noticias>

y con php y domdocument quiero modificar uno de los nodos. como ya habrán visto, los nodos tienen un identificador que es un atributo llamado "valor" y cada uno tiene un valor que no se repite. para hacer la modificacion de uno de los nodos "nuevanoticia", lo que hago es con un formulario mustro lo que hay actualmente y luego, recopilo las modificaciones que se hayam hecho y reemplazo el nodo (o al menos esa es la idea). si bien el nodo a modificar puedo localizarlo y mostrarlo, cuando quiero reemplazarlo es cuando empiezan los problemas. lo que hago es construirlo de nuevo y el reemplazar el nodo viejo con el nuevo, usando la siguiente sentencia:

*******$archivonoticia->replaceChild($nodoantiguo, $nuevonodo);********

donde "$archivonoticia" es el resultado de:

$archivonoticia = new DOMDocument("1.0", "UTF-8");
$archivonoticia->load($archivoamodificar);

cuando trato de modificar me tira el siguiente error:

Fatal error: Uncaught exception 'DOMException' with message 'Not Found Error' in C:\wamp\www\DIARIO PHP & XML (de casa)\modinews.php on line 115

seguido de:

DOMException: Not Found Error in C:\wamp\www\DIARIO PHP & XML (de casa)\modinews.php on line 115

donde la linea 115 es la que indico con asteriscos más arriba. desde ya gracias por la atención, salud gente!