2013-10-18 63 views
1

我有一個xml文件,我已經給出,需要用php解析並顯示值。我想把這個XML數據放入一個數組中,我可以輕鬆地選擇我需要的數據。解析xml到數組中

的數據格式爲:

<person id="2"> 
    <child> 
     <name>kim</name> 
     <born>1990</born> 
    </child> 
</person> 
<person id="2"> 
    <parent> 
     <name>emma</name> 
     <born>1950</born> 
    </parent> 
</person> 

所以我首先必須通過數據的循環掃描,看看父母的孩子。如果父母想要組成所有父母,然後是孩子。

因此,我可以有一個表,只是遍歷所有的父母名稱,他們的出生日期等和一個單獨的兒童。

foreach($plannerXML->children() as $child){ 

    if ($child->count()>0) { 
     foreach($child as $childs) 
     { 
      if ($childs->getName()=="parent") { 
       if ($childs->count()>0) { 
        foreach($childs as $childss){ 



         $parent=array($childss->getName()=>$childss 
         ); 

        }; 
       } 
      } else if ($childs->getName()=="child") { 

      } 
     }; 
    }; 
}; 

所以我當時有具有數據的數組,但我怎麼能那麼呼應了這一點,顯示的名稱和相關的生日?

此時如果我把它在一個循環中我得到的所有的名字,所有的日期等的那一刻..

+0

爲什麼';'在'}'之後? –

回答

0

php.net網站,你可以做從XML轉換到像數組代碼:

<?php 
$simple = "<para><note>simple note</note></para>"; 
$p = xml_parser_create(); 
xml_parse_into_struct($p, $simple, $vals, $index); 
xml_parser_free($p); 
echo "Index array\n"; 
print_r($index); 
echo "\nVals array\n"; 
print_r($vals); 
?> 

您的具體情況,使用example #3