在非对象上调用成员函数xpath()

时间:2016-10-01 22:34:10

标签: php xml xpath

好,我在下面的问题中请求你的帮助,我有一个文件php的代码,删除了一个xml文档网站最后一个fm的歌曲的封面,问题是我只有当有的时候才有正确的代码没有覆盖以下消息“致命错误:在第23行的/home/vhosts/radiojevn.6te.net/lastfm-3.php中的非对象上调用成员函数xpath()”我尝试修改代码但没有成功。

如果有人能帮助我,我很感激!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
	background-image: url(http://www.playtech.com.br/Imagens/produtos/indisponivel_vitrine.gif);
	background-repeat: no-repeat;
	background-size: 100%;

}
-->
</style>
</head>

<body marginheight="0" marginwidth="0">
<?php
$xml = simplexml_load_file('http://radiojoven.6te.net/NowOnAir.xml');
if ($xml === false) 
    {
        echo("Url failed"); // do whatever you want to do
    }
$artist = urlencode($xml->Event->Song->Artist['name']);
$url = simplexml_load_file("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=$artist&api_key=50ac27433c63f7298064f434f4ef6d15");
$largeImage = $url->xpath('/lfm/artist/image[@size="mega"]')[0];
echo '<img src="'.$largeImage.'" ';  
?>width="100%" height="100%" />
</html>

1 个答案:

答案 0 :(得分:1)

您的请求无效xml文件http://radiojoven.6te.net/NowOnAir.xml 如果您只是想删除错误,请使用

<?php
 $xml = @simplexml_load_file('http://radiojoven.6te.net/NowOnAir.xml');
if ($xml !== false) 
{
    $artist = urlencode($xml->Event->Song->Artist['name']);
    $url = simplexml_load_file("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=$artist&api_key=50ac27433c63f7298064f434f4ef6d15");
    $largeImage = $url->xpath('/lfm/artist/image[@size="mega"]')[0];
    echo '<img src="'.$largeImage.'" ';  
    ?>width="100%" height="100%" /><?php
}
?>