【发布时间】:2014-01-16 05:01:44
【问题描述】:
我正在使用simplexml 加载 XML 文件并将内容编码为 JSON 格式,以便我的应用程序的另一部分可以使用它。一切正常,但我注意到simplexml 为“数组”生成单数名称,例如,这段 XML:
<employees>
<employee>
<name>John M.</name>
<age>34</age>
</employee>
<employee>
<name>Sarah J.</name>
<age>31</age>
</employee>
</employees>
一旦我将 XML 代码加载到 PHP 对象中:
$xml = simplexml_load_file("employees.xml");
我必须使用单数形式来访问员工数组,例如:
$xml->employee[1];
但我想复数数组的名称。这样做的主要原因是因为我想直接使用json_encode 从该 XML 对象生成 JSON,而不是生成一个新的数组/对象,其各自的名称是复数形式。
可以改变这种行为吗?如果这无法在 simplexml 内完成,那么解决此问题的最佳方法是什么?
【问题讨论】:
-
一些示例代码可以在answer to a related question (PHP convert XML to JSON group when there is one child) 中找到,来自不同的问题,还有Part III in a series of posts regarding SimpleXML and JSON 显示了装饰SimpleXMLElement 的解决方案,该解决方案优于已注释的扩展它。跨度>