有没有人知道将SimpleXMLElement转换为普通STDClass对象的快速方法,而无需手动迭代每个分支?在获取数据后,我会更好地使用普通对象。
答案 0 :(得分:67)
$my_std_class = json_decode(json_encode($my_simplexmlelement));
$my_assoc_array = json_decode(json_encode($my_simplexmlelement), true);
答案 1 :(得分:6)
我建议使用 XMLReader ,这非常适合提取数据并将其存储为任何人希望的数据类型,而不是 SimpleXML 。它对于经常使用的文档(我使用它,扩展为 RSSReader ,用于RSS)特别有用,比预期的要快得多,并且奖励使用的内存比 SimpleXML
答案 2 :(得分:2)
另一种方式是:
(object)(array)$my_simplexmlelement
不幸的是,如果你有孩子,他们仍然是SimpleXMLElement
答案 3 :(得分:1)
我不知道是否有办法转换对象而不迭代它。我的猜测是你不能。
您可以查看此thread,它会向您展示如何将SimpleXML转换为数组,您可以对其进行调整。