从 XML php 中提取信息给我错误

Extracting information from an XML php gives me error

我需要从 XML Radionomy(无线电流)中提取信息,其中包含艺术家、标题、封面艺术、天气等信息

通过在浏览器中放置此 url 可以获取所有信息 xml:

http://api.radionomy.com/currentsong.cfm?radiouid=ce5b70e5-dcc3-40a2-81b2-c713a02daf29&apikey=842650d9-c21a-474d-be8f-f44413dfaae2&callmeback=no&type=xml&cover=yes&previ%20ous=no

<tracks>
<radioname>RTFM</radioname>
<rank>2</rank>
<isradionomy>1</isradionomy>
<radurl>http://www.radionomy.com/rtfm</radurl>
<track>
<uniqueid>2905480252</uniqueid>
<title>02-13-2016</title>
<artists>News - US</artists>
<starttime>2016-02-14 00:59:57.177</starttime>
<playduration>121352</playduration>
<current>1</current>
</track>
</tracks>

但是尝试通过 php 获取信息时出错。不知道他哪里有问题,帮帮我吧。

我正在尝试这个:

$xml = @simplexml_load_file("
http://api.radionomy.com/currentsong.cfm?radiouid=ce5b70e5-dcc3-40a2-81b2-c713a02daf29&apikey=842650d9-c21a-474d-be8f-f44413dfaae2&callmeback=no&type=xml&cover=yes&previ%20ous=no");


if($xml){


foreach ($xml as $track){



$artiste = $track->artists;
$titre = $track->title;
$pochette = $track->cover;

continue;

}

}else{

    echo "error";

    }

警告:为 foreach() 提供的参数无效...

编辑:

注意到更多错误并提供了工作代码。

使用 urlencode 对您的 URL 字符串进行编码。使用 $xml->track 循环跟踪节点。

并停止使用 @ 查看实际错误。查看错误真的很有帮助。

没有修改你的原始代码,但你可以从这里获取它。

<?php

$xml = simplexml_load_file(urlencode("http://api.radionomy.com/currentsong.cfm?radiouid=ce5b70e5-dcc3-40a2-81b2-c713a02daf29&apikey=842650d9-c21a-474d-be8f-f44413dfaae2&callmeback=no&type=xml&cover=yes&previ%20ous=no"));

if($xml){

    foreach ($xml->track as $track){

        $artiste = $track->artists;
        $titre = $track->title;
        $pochette = $track->cover;

        continue;
    }
} else {
     echo "error";
}