如何在HTML中显示XML RSS feed?

时间:2015-09-06 01:13:17

标签: javascript php html xml rss

我一直在对RSS Feed进行无数个小时的研究,但我找不到任何符合我需求的方法。我一直在一个网站上工作,基本上磨练我作为学徒程序员的技能,我需要实现的一件事是新闻提要。

如何创建可自定义的新闻Feed,如在网页上显示的方式?我想要具体做的是有3列,每行有3个新闻帖子,每个帖子按时间顺序显示。我想这可以通过一个html表来完成,我可以使用javascript从XML文件中获取数据并将其放入表中,但是我无法想出一个可以做到这一点的解决方案,这就是我来这里的原因。

我不希望有人为我这样做,我只是想知道是否有人之前做过这样的事情,或者是否有更简单的方法来做这件事,或者我是不是正确地做了这件事

我不想使用需要我付费订阅的RSS服务,或者不允许我完全自定义Feed的RSS服务,以防有人给我一个链接(例如rssinclude)< /强>

解决

一段时间后想出来,我用javascript开始构建自己的xml解析器,但是当我需要一种不同的方法从不同的域调用rss feed时,我转移到php。这是我解析传递的xml的位,有更多的代码与主题无关,因此有一些随机变量:

$content = file_get_contents($cache);
$x = new SimpleXmlElement($content);
$item = $x->channel->item;
echo '<tr>';
for($i = $xmn; $i < $xmx; $i++) {
    echo '<td class="item"><p class="title clear">' . 
        $item[$i]->title . 
        '</p><p class="desc">' . 
        $desc=substr($item[$i]->description, 0, 250) . 
        '... <a href="' . 
        $item[$i]->link . 
        '" target="_blank">more</a></p><p class="date">' . 
        $item[$i]->pubDate . 
        '</p></td>';
}
echo '</tr>';

这是我请求php文件并将结果文本放在我的html中的位置:

function ajax(url, xmn){
        var dataString = [url, xmn],
            jsonString = JSON.stringify(dataString);
            request = $.ajax({
                beforeSend: function(){
                    if(request != null){
                        request.abort();

                    }
                },
                type: "POST",
                url: "/scripts/feed.php",
                data: {jsonString : jsonString}, 
                cache: false,
                success: function(result){
                    document.getElementById('rss').innerHTML = result;
                },
            });

1 个答案:

答案 0 :(得分:-1)

您需要做的就是为各种输出格式创建XSL样式表。