PHP将XML转换为JSON

PHP将XML转换为JSON

我试图在php中将XML转换为JSON。如果我使用简单XML和json_encode进行简单转换,则XML显示中没有任何属性。

$xml = simplexml_load_file("states.xml");echo json_encode($xml);

所以我试着像这样手动解析它。

foreach($xml->children() as $state){
    $states[]= array('state' => $state->name); }       echo json_encode($states);

状态的输出是{"state":{"0":"Alabama"}}而不是{"state":"Alabama"}

我做错什么了?

XML:

<?xml version="1.0" ?><states>
    <state id="AL">     
    <name>Alabama</name>
    </state>
    <state id="AK">
        <name>Alaska</name>
    </state></states>

产出:

[{"state":{"0":"Alabama"}},{"state":{"0":"Alaska"}

var转储:

object(SimpleXMLElement)#1 (1) {["state"]=>array(2) {[0]=>object(SimpleXMLElement)#3 (2) {
  ["@attributes"]=>
  array(1) {
    ["id"]=>
    string(2) "AL"
  }
  ["name"]=>
  string(7) "Alabama"}[1]=>object(SimpleXMLElement)#2 (2) {
  ["@attributes"]=>
  array(1) {
    ["id"]=>
    string(2) "AK"
  }
  ["name"]=>
  string(6) "Alaska"}}}


拉莫斯之舞
浏览 1764回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP