我试图将XML转换为json在php。如果我做一个简单的转换使用简单的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的输出是{“state”:{“0”:“Alabama”}},而不是{“state”:“Alabama”}
我究竟做错了什么?
XML:
Alabama
Alaska
输出:
[{"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"
}
}
}