xmlスクリプトをPHPの連想配列に変換したいと考えています。xmlを配列に変換し、ノード内のノードを処理できません
<ages>
<Peter>
<Peterchild>4</Peterchild>
<Peterchild>6</Peterchild>
</Peter>
<Quagmire>30</Quagmire>
<Joe>34</Joe>
</ages>
と私は配列に変換するために書いたコードが
Array
(
[Peter] =>
[Quagmire] => 30
[Joe] => 34
)
として出力を与える
${$xml->getName()} = array();
foreach($xml->children() as $child){
$ages[$child->getName()] = (string)$child;
}
ある問題は、私はできないのですということです:XMLスクリプトがあります子どもの子供たち(この例ではピーターの子供たち)を再帰的に横切る条件を理解する。これらのノードも考慮するためにこのコードを変更するにはどうしたらいいですか?
あなたは魔法の言葉を再帰的に言った。再帰。あなたのメソッドchildren()の現在の使用法では、再帰関数を適用してドリルダウンし、必要な値を取得する必要があります。それは、XML全体を必要に応じて配列または配列の配列に変換する別の方法があるかどうかを調査する必要があります。 – FinalForm
このページの2つの例を参照してください:http://php.net/manual/en/class.simplexmliterator.php、どちらも必要なものを行います。 – Zyava
@ Zyavaありがとう、それは助けた – rkt