从 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";
}
我需要从 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";
}