2017-04-03 79 views
1

我一直在嘗試將XML回顯到網頁上,但似乎無法顯示任何內容。無法使用PHP顯示XML

<item> 
<songid>US2HK18715</songid> 
<songtitle>Take Me To The River</songtitle> 
<artist>Al Green</artist> 
<genre>Soul</genre> 
<link>https://www.amazon.com/Take-Me-To-The-River/dp/B0023RP62U</link> 
<releaseyear>1974</releaseyear> 
</item> 

這是我的XML項目中的一個例子,這是我一直在嘗試使用代碼:

<?php 

$songs = simplexml_load_file('playlist.xml'); 

foreach($songs->item as $song){ 
    $id = $song->songid; 
    $title = $song->songtitle; 
    $artist = $song->artist; 
    $genre = $song->genre; 
    $link = $song->link; 
    $releaseYear = $song->releaseyear; 
    echo "<p><span>$id</span><span>$title</span></p>\n"; 
    echo "hello"; 


} 
?> 

即使回聲招呼就不會出現因爲某些原因

+0

是否可以打開xml文件?檢查它是否出錯。 if($ songs === false){echo'Load loading XML:';} else {echo'Loaded XML';} –

+2

在第一個標記之前是否還有額外的標記? –

+0

是的,我試過print_r($歌曲);和它打印的整個文件的網頁 – pattiii96

回答

0

考慮你的xml文件格式如下。

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<rss version="0.91"> 
    <channel> 
    <title>Music Playlist Sharing</title> 
    <description>Share music playlists - import from other applications and export them</description> 
    <language>en-us</language> 
    <item> 
     <songid>US2HK18715</songid> 
     <songtitle>Take Me To The River</songtitle> 
     <artist>Al Green</artist> 
     <genre>Soul</genre> 
     <link>https://www.amazon.com/Take-Me-To-The-River/dp/B0023RP62U</link> 
     <releaseyear>1974</releaseyear> 
    </item> 
    <item> 
    </item> 
    </channel> 
</rss> 

下面的代碼應該可以工作。

foreach($songs->channel->item as $song){ 
    $id = $song->songid; 
    $title = $song->songtitle; 
    $artist = $song->artist; 
    $genre = $song->genre; 
    $link = $song->link; 
    $releaseYear = $song->releaseyear; 
    echo "<p><span>$id</span><span>$title</span></p>\n"; 
    echo "hello"; 
} 
+0

它確實有用!非常感謝你 – pattiii96