Mar*_*van 3 xml ajax rss jquery
我正在尝试解析xml RSS供稿(http://blog.counter-strike.net/index.php/feed/),目前我可以获取其中包含的内容<link>,<description>但是却无法获取,<title>因为无论何时我尝试得到它而不是给我博客标题,而是给我自己网页的标题。
我感到奇怪的是,最终如果我不断刷新页面,就会显示博客的实际标题。不知道是什么原因导致的,但是理想情况下,我更希望仅拥有博客的标题而不是自己的网页的标题。
我看了一个帮助我入门的问题:使用jquery和ajax解析xml
下面是我到目前为止的代码
$(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 />")
});
});
});
除了检索博客的标题之外,如果有人可以告诉我如何用’描述的内容替换描述中显示的类似内容,我将不胜感激。
最后,是否可以从RSS提要中检索和显示图像和视频?似乎它们包含在中<content:encoded>。
我不太确定为什么要获得网站标题而不是RSS项目标题,但最终还是可以正常工作。这是下面的代码,我用来检索RSS项的标题和URL。
$(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);
});
});
});
Run Code Online (Sandbox Code Playgroud)
通过将我收到的值分配给变量,我发现可以更轻松地调试我从RSS项中检索的内容,然后可以检查使用Google Chrome DevTools的值。
我决定不从RSS提要中获取描述和媒体文件(如图像/视频),而是在网页列表中显示标题和URL。如果其他人想提供有关如何使描述和媒体文件正常工作的答案,我很乐意将其作为解决方案。
希望这将对遇到类似问题的任何人有所帮助。