2013-08-03 190 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

你尝试过什么?如果你还没有尝试过[this](https://developer.mozilla.org/en-US/docs/Parsing_and_serializing_XML)是一个很好的开始。 – FakeRainBrigand

+1

除非您的XML数据很大,否则我看不到这方面的好处。 xml和json都是传输数据的好格式。 JS可以解析它们,所有服务器端语言也可以。我并不是说它不能完成。只是,为什么? – 2013-08-04 00:04:26

+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);