2012-01-12 20 views
0

我想在CakePHP框架的XML类中使用toArray将XML更改为数组。XML到CakePHP中的数组然后保存

下面是阵列输出:

[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等..

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

回答

0

尝试这样的事情,这是很容易得到的值保持:

 

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

希望它可以帮助

+0

其实我找到了答案!使用Set :: extract并使用xPath提取数据,然后从那里创建数组! – 2012-01-12 11:30:07

相关问题