2016-02-14 18 views
0

我需要提取从XML Radionomy(无线流媒体)的艺术家,标题包含的信息,封面,天气等从XML PHP提取信息给我的错误

通过浏览器去把这个网址所有信息的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"; 

    } 

警告:)...中

+0

请参阅我的回答中的描述和提供的工作代码。 – smozgur

回答

1

编辑的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"; 
} 
+0

Yesssssss是惊人的,一直在使用这种方法,并立即运行。你很棒,非常感谢你! – PlayerWet

+1

很高兴听到它的帮助。请考虑“不要”使用@并让错误被揭示 - 除非真的有必要。 – smozgur

+0

非常感谢,我会记住:D – PlayerWet