然后在Cakephp中将XML转换为数组

时间:2012-01-12 09:40:22

标签: php cakephp

我正在尝试使用Cakephp框架中的XML类中的toArray将XML更改为数组。

下面是数组输出:

 [state] => Array
                        (
                            [0] => Array
                                (
                                    [@code] => ACT
                                    [post_code] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [@code] => 2600
                                                    [locality] => Array
                                                        (
                                                            [0] => Array
                                                                (
                                                                    [@name] => DEAKIN
                                                                    [dwelling_type] => Array
                                                                        (
                                                                            [@code] => H
                                                                            [typical_value] => Array
                                                                                (
                                                                                    [@rank] => 3341/3697
                                                                                    [@] => 831000
                                                                                )

                                                                            [dom] => Array
                                                                                (
                                                                                    [@score] => 1
                                                                                    [@rank] => 454/5673
                                                                                    [@] => 56
                                                                                )

                                                                            [discount] => Array
                                                                                (
                                                                                    [@score] => 0
                                                                                    [@rank] => 779/5673
                                                                                    [@] => 5%
                                                                                )

                                                                            [acr] => Array
                                                                                (
                                                                                    [@score] => -1
                                                                                    [@rank] => 914/5531
                                                                                    [@] => 59%
                                                                                )

                                                                            [renters] => Array
                                                                                (
                                                                                    [@score] => 0
                                                                                    [@rank] => 5131/5627
                                                                                    [@] => 42%
                                                                                )

                                                                            [vacancy] => Array
                                                                                (
                                                                                    [@score] => 1
                                                                                    [@rank] => 4714/5673
                                                                                    [@] => 2.61%
                                                                                )

                                                                            [yield] => Array
                                                                                (
                                                                                    [@score] => -1
                                                                                    [@rank] => 678/3697
                                                                                    [@] => 3.69%
                                                                                )

                                                                            [som] => Array
                                                                                (
                                                                                    [@score] => 1
                                                                                    [@rank] => 3915/5144
                                                                                    [@] => 2.08%
                                                                                )

                                                                            [search_dsr] => Array
                                                                                (
                                                                                    [@score] => -3
                                                                                    [@rank] => 3578/4009
                                                                                    [@] => 4.9
                                                                                )

                                                                            [dsr] => Array
                                                                                (
                                                                                    [@rank] => 3121/5673
                                                                                    [@] => 23
                                                                                )

                                                                            [sr] => Array
                                                                                (
                                                                                    [@rank] => 2552/5673
                                                                                    [@] => 5.8
                                                                                )

                                                                        )

                                                                )

                                                            [1] => Array
                                                                (
                                                                    [@name] => YARRALUMLA
                                                                    [dwelling_type] => Array
                                                                        (
                                                                            [0] => Array
                                                                                (

现在问题是我们如何实际转换这个以便我可以获取我需要提取的那些然后保存它们?

我需要@ name,典型值,dom,折扣,acr等......

使用核心库类为此设置选项吗?如果是的话,你会推荐哪一个?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情,抓住价值要容易得多:


$objXml = $yourXmlData;
$arrXml = Set::reverse($objXml); 
debug($arrXml);

希望有所帮助