0

我有一个 jQuery 播放器,顶部有一个统计栏,可以从远程 xml 文件中提取信息。

我正在尝试修改它以从 php 文件中读取统计信息。

该 php 文件从远程服务器中的 xspf 文件中提取统计信息。

我如何使用以下代码执行此操作:

更新代码:

php文件:

<?php
header('Content-Type:text/xml');

$xml = simplexml_load_file("http://**.**.**.**:8000/live.xspf"); 

echo '<?xml version="1.0" encoding="UTF-8"?><tracks>';
foreach ($xml->trackList->track as $data) {
    $radio = $data->location;
    $song  = $data->title;  
    $info = $data->listeners;
    echo '<track>
            <title>'.$song.'</title>
            <listeners>'.$info.'</listeners>
            <location>'.$radio.'</location>
          </track>';
}
echo '</tracks>';
?>

jQuery代码:

    function getCurrentTrack(){
$.get('/player/readerPlayer.php'), function (){
    $track = $(data).find('track');
    $track.each(function (){
        $this = $(this);
        var title = $this.find('title').text();
        var listenersn = $this.find('listeners').text();
        $('.listeners span').html(listenersn);
        setTimeout('getCurrentTrack()', 65000);
    });
}, 'xml'};
4

1 回答 1

2

您只需从 PHP 文件中输出 XML。

header('Content-Type:text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?><tracks>';
foreach ($xml->trackList->track as $data) {
    $radio = $data->location;
    $song  = $data->title;  
    $info = $data->listeners;
    echo '<track>
            <title>'.$song.'</title>
            <listeners>'.$info.'</listeners>
            <location>'.$radio.'</location>
          </track>';
}
echo '</tracks>';

不过,您需要稍微调整 js 以首先获取轨道对象。

function getCurrentTrack(){
    $.get('/player/readerPlayer.php'), function (){
        $track = $(data).find('track');
        $track.each(function (){
            $this = $(this);
            var title = $this.find('title').text();
            var listenersn = $this.find('listeners').text();
            $('.listeners span').html(listenersn);
            setTimeout('getCurrentTrack()', 65000);
        });
    }, 'xml');
}
于 2012-12-18T17:44:29.857 回答