Tengo un XML con una estructura tal que así:
Código XML:
Ver original
<Accesos> <Acceso idCliente="int"> <idUsuario>int</idUsuario> <Tiempo>double</Tiempo> <Timestamp>int</Timestamp> <Video>int</Video> </Acceso> <Acceso idCliente="int"> <idUsuario>int</idUsuario> <Tiempo>double</Tiempo> <Timestamp>int</Timestamp> <Video>int</Video> </Acceso> </Accesos>
Necesito llegar a <Tiempo> y <Timestamp> y reemplazarlo con otro valor. Tengo este código hecho, pero estoy atascado:
Código PHP:
Ver original
$xml = new DOMDocument; $xml->load("log.xml"); $acceso = $xml->getElementsByTagName('Acceso'); foreach($acceso as $item) { if((int)$item->getAttribute('idCliente') === (int)$cliente) { $nodo = (int)$item->getElementsByTagName('idUsuario')->item(0)->nodeValue; if($nodo == $usuario) { $video = $item->getElementsByTagName('idVideo')->item(0)->nodeValue; $tiempotmp = $item->getElementsByTagName('Tiempo')->item(0)->nodeValue; $timestamp = $item->getElementsByTagName('Timestamp')->item(0)->nodeValue; if($video == $clip) { // Atascado aquí. $tiempo = $tiempotmp + $addTime; $nuevoelement = $acceso->createElement("Tiempo",$tiempo); $nodonuevo = $item->appendChild($nuevoelement); } } } } }
Como véis el comentario estoy atascado al hacer if(video == clip), y obviamente al cumplir las tres condiciones expuestas, necesito cambiar el nodo <Tiempo> y <Timestamp> con nuevos valores.
Alguien me ayuda por dios!!!?
Gracias y un saludo.