有人知道将 SimpleXMLElement 转换为普通 STDClass 对象的快速方法,而无需手动遍历每个分支吗?获取数据后使用普通对象会感觉更好。
问问题
15808 次
4 回答
72
$my_std_class = json_decode(json_encode($my_simplexmlelement));
$my_assoc_array = json_decode(json_encode($my_simplexmlelement), true);
于 2011-03-19T20:35:41.430 回答
6
我建议考虑使用XMLReader,它很适合提取数据并将其存储为人们希望的任何数据类型,而不是SimpleXML。它对经常使用的文档特别有用(我使用它,扩展为RSSReader,用于 RSS),比预期的要快得多,而且比SimpleXML使用更少的内存。
于 2009-10-18T16:47:37.293 回答
2
另一种方法是:
(object)(array)$my_simplexmlelement
不幸的是,如果你有孩子,他们仍然是 SimpleXMLElement
于 2013-06-12T01:55:40.050 回答
1
我不知道是否有一种方法可以在不迭代的情况下转换对象。我的猜测是你不能。
您可以查看此线程,它向您展示了如何将 SimpleXML 转换为数组,您可以对其进行调整。
于 2009-10-18T12:13:44.487 回答