2013-08-03 10 views
0

У меня есть данные XML в следующем формате:Анализировать XML в JSON

<inorganic> 
    <name>iron</name> 
    <display_color> 
     <num>0</num> 
     <num>7</num> 
     <num>1</num> 
    </display_color> 
    <spec_heat>450</spec_heat> 
    <melting_point>12768</melting_point> 
</inorganic> 

Я пытаюсь преобразовать его в формат JSON, например:

{ 
"iron": { 
    "display_color": { 
     "num": [ 
      "0", 
      "7", 
      "1" 
     ] 
    }, 
    "spec_heat": "450", 
    "melting_point": "12768" 
    } 
} 

Однако я не смог найти путь сделать это с минимальными усилиями (более чем минимальный был бы утомительным, мой набор данных довольно велик).

+1

Что вы пробовали? Если вы ничего не пробовали [это] (https://developer.mozilla.org/en-US/docs/Parsing_and_serializing_XML), это хорошее место для начала. – FakeRainBrigand

+1

Если ваши данные XML не огромны, я не вижу в этом никакой пользы. Оба xml и json являются хорошими форматами для передачи данных. JS может анализировать оба из них, и поэтому может использовать большинство/все серверные языки. Я не говорю, что это невозможно. Просто почему? –

+0

@FakeRainBrigand Я использовал конвертеры xml для json. Однако, как вы можете видеть, мои данные xml не изоморфны моим данным json выше. – Johan

ответ

0
$xml = simplexml_load_file($xml_file); 
$json = json_encode($xml); 

или

$xml = simplexml_load_string($xml_string); 
$json = json_encode($xml); 
Смежные вопросы