Строка parse как массив PHP

У меня следующая строка

<dreport>
 </dreport>

Как анализировать эту строку как массив PHP

$report = array(
 "id"=>"1023012301",
 "sdate"=>"2005/7/19 22:0:0",
 "ddate"=>"2005/7/19 22:0:0",
 "status"=>"N"
);
2 ответа

Может быть, более быстрый путь, но с моей головы:

$x = simplexml_load_string($s);
$a = (array)$x->message->attributes();
$report = $a['@attributes'];
print_r($report);


Вот один из способов сделать это, он загружает контент в массив $ report для значения $ xmlstr.

$ xmlstr = значение вашего ввода xml.

$xml = simplexml_load_string ( $xmlstr ); 

$report = array ();
foreach($xml->message[0]->attributes() as $a => $b) {
 $report[$a] = $b;
}

licensed under cc by-sa 3.0 with attribution.