Как сгенерировать массив из xml?

Здравствуйте!
Есть XML
<category categories_id="62">
     <categories_name>One</categories_name>
     <categories_id>62</categories_id>
     <parent_id>0</parent_id>
</category>
<category categories_id="652">
      <categories_name>Two</categories_name>
      <categories_id>652</categories_id>
      <parent_id>62</parent_id>
</category>
<category categories_id="581">
      <categories_name>Three</categories_name>
      <categories_id>581</categories_id>
      <parent_id>652</parent_id>
</category>
<category categories_id="581">
      <categories_name>Three</categories_name>
      <categories_id>581</categories_id>
      <parent_id>652</parent_id>
</category><category categories_id="63">
     <categories_name>One</categories_name>
     <categories_id>63</categories_id>
     <parent_id>0</parent_id>
</category>
<category categories_id="653">
      <categories_name>Two</categories_name>
      <categories_id>653</categories_id>
      <parent_id>63</parent_id>
</category>
<category categories_id="583">
      <categories_name>Three</categories_name>
      <categories_id>583</categories_id>
      <parent_id>653</parent_id>
</category>

Чтобы на выходе получить
$a= [
'583'=>[
0=>'Three',
1=>'Two,
2=>'One'
],
'581'=>[
0=>'Three',
1=>'Two,
2=>'One'
],
];
Вопрос именно заключается как собрать массив из категорий и подкатегорий, не как обрабоать xml
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
@xenonhammer
$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);
$array = json_decode($json,TRUE);

json_decode($json,TRUE);
Значение TRUE на выходе дает массив, который можно обходить
foreach($data as $data_1){
foreach($data_1 as $data_2){
$data_2 = ($data_2[ключ][ключ][значение]);
}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы