2015-04-24 180 views
0

我的問題是我無法訪問JSON數組中的特定對象。我遵循了很多解決方案,但他們不工作! 這是我的腳本:訪問數組中的對象JSON

<?php 

class XmlToJsonConverter { 
    public function ParseXML ($url) { 
    $fileContents= file_get_contents($url); 
    // Remove tabs, newline, whitespaces in the content array 
    $fileContents = str_replace(array("\n", "\r", "\t"), '', $fileContents); 
    $fileContents = trim(str_replace('"', "'", $fileContents)); 
    $myXml = simplexml_load_string($fileContents); 
    //-------------- 
    unset($myXml['@attributes']); 
    unset($myXml['channel']); 

    //$json = json_encode($myXml['item']); 
    //var_dump($myXml);  
    $json = json_encode($myXml); 
    $arr = json_decode($json, true); 
    echo json_encode($arr['item']); 

} 
} 

//Path of the XML file 
$url= 'http://www.lequipe.fr/rss/actu_rss_Football.xml'; 

//Create object of the class 
$jsonObj = new XmlToJsonConverter(); 

//Pass the xml document to the class function $myjson = 
$myjson = $jsonObj->ParseXMl($url); 
//echo ($myjson); 

?> 

此腳本返回null。 我只想訪問這個數組中的'item'。

謝謝你的幫助。

+0

@MarcB:感謝您指出。 – hakre

回答

1

改變這一行...

echo json_encode($arr['item']); 

...這個:

return json_encode($arr['channel']['item']); 

然後取消您的echo在文件的結尾:

$myjson = $jsonObj->ParseXMl($url); 
echo $myjson; 
+0

thxxxxxxxx它的工作原理。 – Fakher