I am trying to convert xml to json in php. If I do a simple convert using simple xml and json\_encode none of the attributes in the xml show.

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

```

So I am trying to manually parse it like this.

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

```

and the output for state is `{"state":{"0":"Alabama"}}` rather than `{"state":"Alabama"}`

What am I doing wrong?

XML:

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

```

Output:

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

```

var dump:

```
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"
}
}
}

```