2014-09-01 54 views
2

如何遍歷SimpleXMLElement對象?這是我:我在很多方面進行迭代嘗試過,但沒有成功:如何循環訪問Php中的SimpleXMLElement對象休息客戶端?

Array 
(
    [status] => 1 
    [data_nilai_siswa] => SimpleXMLElement Object 
    (
     [item] => Array 
      (
       [0] => SimpleXMLElement Object 
        (
         [id_siswa] => 1 
         [nama_siswa] => 1 
         [n_bahasa] => 1.00 
         [n_matematika] => 1.00 
         [n_binggris] => 1.00 
        ) 

       [1] => SimpleXMLElement Object 
        (
         [id_siswa] => 2 
         [nama_siswa] => 2 
         [n_bahasa] => 2.00 
         [n_matematika] => 2.00 
         [n_binggris] => 2.00 
        ) 
      ) 
     ) 
) 

我利用圖書館休息客戶philsturgeon/codeigniter-restclient和腳本其餘客戶端:

$xmlResponse = $this->rest->get('http://127.0.0.1/EJ/testclient2/getdata/nilai'); 
$projects = array(); 

foreach($xmlResponse->project as $project) { 
$projects[$project->id_siswa] = $project->nama_siswa; 
echo 'Project ' . $project->nama_siswa . ' has ID ' . $project->id_siswa . PHP_EOL; 
} 

我得到的錯誤信息:試圖獲得非對象的屬性?怎麼修?

回答

1

將它直接指向item屬性。

foreach($xmlResponse->data_nilai_siswa->item as $project) { 
    $projects[$project->id_siswa] = $project->nama_siswa; 
    echo 'Project ' . $project->nama_siswa . ' has ID ' . $project->id_siswa . '<br/>'; 
} 
+0

謝謝..這工作,但我發現消息:非法偏移類型。 – 2014-09-01 06:49:41

+0

@ArdyAnt它指向哪條線? '回聲'? – Ghost 2014-09-01 06:51:06

+2

$ projects [$ project - > - > item-> id_siswa] = $ project - > - > item-> nama_siswa;我補充說,工作。感謝幫助.. – 2014-09-01 06:53:22