XML到Cakephp中的数组,然后保存


XML to array in Cakephp then save

我正在尝试使用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等…

使用核心库类Set是一个选项吗?如果是,你会推荐哪一个?

试试这样的东西,它更容易获得价值:


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

希望它能帮助