Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2013, 14:05
alkan
 
Fecha de Ingreso: julio-2013
Ubicación: Madrid
Mensajes: 2
Antigüedad: 10 años, 9 meses
Puntos: 1
Acceder a atributos XML

Buenas a todos!

Tengo el siguiente código:
Código:
<?php

$fichero = '<xml><bloque a="1" b="5">
<alt>1141.80</alt>
<time>0000-00-00 00:00:00</time>
<name><![CDATA[Bloque-1]]></name>
<type>C</type>
<extensions>
<pru:pruebaextension xmlns:pru="http://www.aaa.com">
<pru:ext type="IMAGEN" subtype="0">bbbbb</pru:ext>
</pru:pruebaextension>
</extensions>
</bloque></xml>';

	$myXML = simplexml_load_string($fichero);

	// Extracción de datos
	foreach ($myXML->bloque as $xmlInfo) {
		$a = $xmlInfo['a'];
		$b = $xmlInfo['b'];
		$alt = $xmlInfo->alt;
		$time = $xmlInfo->time;
		$name = $xmlInfo->name;
		$type = $xmlInfo->type;
		
		echo 'Bloque:<br>';
		echo '&nbsp;&nbsp;&nbsp;&nbsp; a: '.$a.', b: '.$b.'<br>';
		echo '&nbsp;&nbsp;&nbsp;&nbsp; alt: '.$alt.'<br>';
		echo '&nbsp;&nbsp;&nbsp;&nbsp; time: '.$time.'<br>';
		echo '&nbsp;&nbsp;&nbsp;&nbsp; name: '.$name.'<br>';
		echo '&nbsp;&nbsp;&nbsp;&nbsp; type: '.$type.'<br>';
		echo '<br>';
	};

?>
EL resultado de la ejecución es:

Código:
Bloque:
     a: 1, b: 5
     alt: 1141.80
     time: 0000-00-00 00:00:00
     name: Bloque-1
     type: C
Bien, hasta aquí todo correcto. El problema lo tengo al intentar acceder a los atributos que tiene ':', por ejemplo en 'pru:ext' quiero acceder a 'type' pero me es imposible, lo he intentado con varios métodos y no he podido.

¿Alguna idea?

Saludos!!