我正在尝试解析xml RSS提要(http://blog.counter-strike.net/index.php/feed/),目前我可以获取<link>
和<description>
中包含的内容但是我无法获取<title>
因为每当我试图获得它而不是给我博客标题时,我就会获得自己网页的标题。
我觉得奇怪的是,如果我不断更新页面,最终会显示博客的实际标题。不确定是什么导致了这一点,但理想情况下我更喜欢只拥有博客的标题,而不是我自己的网页。
我看过这个帮助我入门的问题:parsing xml using jquery and ajax
以下是我到目前为止的代码
$(document).ready(function () {
$.ajax({
url: 'http://cors.io/?u=http://blog.counter-strike.net/index.php/feed/',
type: 'GET',
dataType: "xml"
}).done(function(xml) {
$.each($("item", xml), function(i, e) {
$("#feed").append($(e).find("item title"));
$("#feed").append("<br />")
$("#feed").append($(e).find("description"));
$("#feed").append("<br />")
$("#feed").append($(e).find("link"));
$("#feed").append("<br />")
});
});
});
除了检索博客的标题之外,如果有人能告诉我如何替换描述中显示的’
之类的内容,我会很感激。< / p>
最后是否可以从RSS Feed中检索和显示图像和视频?它们似乎包含在<content:encoded>
中。
答案 0 :(得分:4)
我不太确定为什么我获得网站标题而不是RSS项目标题,但我最终得到了这个工作。下面是我用来检索RSS项目的标题和网址的代码。
$(document).ready(function () {
$.ajax({
url: 'http://cors.io/?u=http://blog.counter-strike.net/index.php/feed/',
type: 'GET',
dataType: "xml"
}).done(function(xml) {
$.each($("item", xml), function(i, e) {
var blogNumber = i + 1 + ". ";
var itemURL = ($(e).find("link"));
var blogURL = "<a href='" + itemURL.text() + "'>" + itemURL.text() +"</a>";
var itemTitle = ($(e).find("title"));
var blogTitle = "<h4>" + blogNumber + itemTitle.text() + "</h4>";
$("#feed").append(blogTitle);
$("#feed").append(blogURL);
});
});
});
我发现通过将我收到的值分配给变量来调试从RSS项目检索的内容更容易,然后我可以检查使用Google Chrome DevTools的值。
我决定不从RSS Feed中获取图像/视频等描述和媒体文件,而只是在我的网页列表中显示标题和网址。如果其他人想要提供如何使描述和媒体文件正常工作的答案,我将很乐意批准它作为解决方案。
希望这可以帮助任何遇到类似问题的人。