使用Javascript将RSS标题解析为HTML

时间:2015-04-23 09:13:18

标签: javascript jquery html xml rss

我想填充与从我们的网站&#39的5个latests主题的网页的菜单; S使用Javascript RSS新闻(如jQuery的 - 我们进口v 1.9.1了。),我一直拖网内容在这里找到有用的东西,但最适合我的问题的答案似乎是使用弃用的脚本。

RSS源存储在我们自己的服务器上,因此应确保阅读权限。我更喜欢使用某种Javascript,我只需要拥有例如最新的X新闻及其链接被投入

<li><a href="Link to article">first news header</a></li>
<li><a href="Link to article">second news header</a></li>

这里的答案之一让我想到了这个JSfiddle:Code但它似乎没有用?这里的另一个答案code给出了一个jQuery代码,我不知道如何在我的HTML中使用它,所以它可能就像引导我使用它一样简单吗?

我使用JS的经验非常有限,所以我非常感谢一些非常低技术的建议,关于如何在.js文件中包含什么以及如何在HTML中显示它之后使其工作

新闻Feed位于:Link

谢谢!

1 个答案:

答案 0 :(得分:1)

根据您发现的answer,我将jsfiddle放在一起进行测试。 (请注意,我在小提琴中使用预定义的XML字符串,因为我无法访问域上的RSS源)

这是代码说明

简单的HTML:

<ul id="feed">
</ul>

使用Javascript:

$(document).ready(function(){

var x=10; // your X iteration limit

// load the xml data. it is parsed by jquery
$.get("http://www.flatpanels.dk/rss/nyhed.xml", function(data) {
    var $xml = $(data);

    $xml.find("item").each(function(i, val) { // find the items in the rss and loop

        // create an item object with all the necessary information out of the xml
        var $this = $(this),
            item = {
                title: $this.find("title").text(),
                link: $this.find("link").text(),
                description: $this.find("description").text(),
                pubDate: $this.find("pubDate").text(),
                author: $this.find("author").text(),
                guid: $this.find("guid").text()
        };
        // replace the CDATA in the item title
        item.title = item.title.replace("<![CDATA[", "").replace("]]>", "");

        // #feed selects the ul element with the id feed
        // and append() appends a newly created li element
        // to the ul
        $('#feed').append($('<li><a href="' +item.guid +'">' +item.title +'</a></li>'));

        return i<(x-1); // (stop after x iterations)
    });
});
});