快速将simpleXMLObject转换为STDClass?

时间:2009-10-18 12:04:42

标签: php simplexml

有没有人知道将SimpleXMLElement转换为普通STDClass对象的快速方法,而无需手动迭代每个分支?在获取数据后,我会更好地使用普通对象。

4 个答案:

答案 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转换为数组,您可以对其进行调整。