首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP将XML转换为JSON

PHP将XML转换为JSON
EN

Stack Overflow用户
提问于 2012-01-12 13:36:25
回答 19查看 319.5K关注 0票数 176

我正在尝试在php中将xml转换为json。如果我使用简单的xml和json_encode进行简单的转换,则不会显示xml中的任何属性。

代码语言:javascript
运行
复制
$xml = simplexml_load_file("states.xml");
echo json_encode($xml);

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

代码语言:javascript
运行
复制
foreach($xml->children() as $state)
{
    $states[]= array('state' => $state->name); 
}       
echo json_encode($states);

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

我做错了什么?

XML:

代码语言:javascript
运行
复制
<?xml version="1.0" ?>
<states>
    <state id="AL">     
    <name>Alabama</name>
    </state>
    <state id="AK">
        <name>Alaska</name>
    </state>
</states>

输出:

代码语言:javascript
运行
复制
[{"state":{"0":"Alabama"}},{"state":{"0":"Alaska"}

var转储:

代码语言:javascript
运行
复制
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"
}
}
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8830599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档