我想将xml脚本转换为PHP中的关联数组。 XML脚本是:将xml转换为数组,无法处理节点内的节点
<ages>
<Peter>
<Peterchild>4</Peterchild>
<Peterchild>6</Peterchild>
</Peter>
<Quagmire>30</Quagmire>
<Joe>34</Joe>
</ages>
,我写了它转换成一个数组的代码是
${$xml->getName()} = array();
foreach($xml->children() as $child){
$ages[$child->getName()] = (string)$child;
}
这给输出
Array
(
[Peter] =>
[Quagmire] => 30
[Joe] => 34
)
的问题是,我不能找出递归遍历儿童子女的一个条件(在这个例子中是彼得的子女)。如何更改此代码以考虑这些节点?
你说的魔术字,递归....递归。随着您的方法children()的当前使用,您需要应用递归函数来深入挖掘并获取所需的值。或者你应该调查是否有另一种方法只需要将整个xml转换为数组或数组数组。 – FinalForm
请参阅本页上的2个示例:http://php.net/manual/en/class.simplexmliterator.php,都做你所需要的。 – Zyava
@Zyava谢谢,它帮助 – rkt