A megoldás szerencsére meglehetősen egyszerű, a kapott XML stringet átalakítjuk PHP objektummá a SimpleXML segítségével, azt pedig json_encode -dal JSON-né alakítjuk, majd json_decode -dal vissza. Máris csak a lényeg marad. A trükk az, hogy a LIBXML_NOCDATA paraméterrel kell a simplexml_load_string -et meghívni, az alábbi módon:
$xml_obj = simplexml_load_string( $xml_string , null, LIBXML_NOCDATA );
$json_obj = json_encode( $xml_obj );
$result = json_decode( $json_obj );
Ugyanez pl. RSS feed esetén:
$rss_url = 'http://www.p1race.hu/rss/rss.php';
$xml = simplexml_load_file( $rss_url , null, LIBXML_NOCDATA );
$response = json_decode( json_encode( $xml ) );
print_r( $response );