XML a PHP

Pasar XML a PHP

$xml = simplexml_load_string($data);
foreach ($xml->mensaje as $mensaje)
echo $mensaje->texto.' ';

 

function loadXML($data) {
$xml = @simplexml_load_string($data);
if (!is_object($xml))
throw new Exception('Error en la lectura del XML',1001);
return $xml;
}

Para ir directamente a un sub elemento:
foreach ($xml->xpath('//asunto') as $asunto)
echo $asunto."\n";

Para pasar de simleXML a XML :

echo $xml->asXML();

Con SimpleXML tener en cuenta:
Si hay un guion:
foreach ($xml->{'mensaje-personal'} as $mensaje)
echo $mensaje->texto.' ';

Hacer cast a string siempre que obtenemos datos de los objetos SimpleXML. Si en vez de devolver directamente el valor de un elemento devuelve otro objeto SimpleXML, se soluciona con:

$texto = (string) $data_o->mensaje[0]->texto;

Deja un comentario