从Array JSON访问对象

时间:2015-04-24 17:31:28

标签: php xml 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。 我只想访问&#39; item&#39;在这个数组中。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

更改此行...

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

......进入这个:

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

然后在文件末尾取消注释echo

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