jquery - 使用 jquery 和 ajax 解析 xml

标签 jquery xml ajax rss

我的播客有一个 rss 提要,基本上我想做的是用 RSS 提要中的 URL 填充一个 html5 音频播放器。

我认为解决此问题的最佳方法是使用 ajax 解析链接,然后将它们附加到音频播放器的 src 中。我知道会阻止我使用 ajax 执行此操作的相同域策略,因此我使用跨域 ajax 插件 (http://bit.ly/Jbi9iX) 来解决这个问题。

我正在努力弄清楚为什么下面的代码对我不起作用,基本上在这个阶段我只是想将 RSS 提要中的 url 附加到 #结果 来显示它的工作,然后我将把它添加到音频播放器的 src 部分。

$(document).ready(function () {
    $.ajax({
        url: 'http://theresidency.libsyn.com/rss',
        type: 'GET',
        dataType: "xml",
        success: parseXml
    });
});

function parseXml(xml) {
var item = $(xml).find("item");

  $(item).each(function() {
    $("#results").append($("enclosure").attr("url").text() + "<br />");
  });

}

我在 chrome 开发工具中没有遇到任何错误,并且我查看了其他示例,但我可以弄清楚我做错了什么。

这是 xml/rss 的示例:http://pastebin.com/stuY495c 这是我目前上传的内容:http://bit.ly/J9QHZc

如有任何帮助,我们将不胜感激,在此先致谢!

最佳答案

你到底在哪里将数据传递给函数,我认为你需要这样做:

$(document).ready(function () {
    $.ajax({
        url: 'http://theresidency.libsyn.com/rss',
        type: 'GET',
        dataType: "xml",
        success: function(data) {
           parseXml(data);
        }
    });
});

function parseXml(xml) {
var item = $(xml).find("item");

  $(item).each(function() {
    $("#results").append($("enclosure").attr("url").text() + "<br />");
  });

}

或者只是:

$(document).ready(function () {
    $.ajax({
        url: 'http://theresidency.libsyn.com/rss',
        type: 'GET',
        dataType: "xml"
    }).done(function(xml) {
        $.each($("item", xml), function(i, e) {
            $("#results").append($("enclosure").attr("url").text() + "<br />");
        });
    });
});

编辑:

做了更多的修改,并提出了:

$(document).ready(function () {
    $.ajax({
        url: 'http://query.yahooapis.com/v1/public/yql?q=%20SELECT%20*%20FROM%20xml%20WHERE%20url%3D%22http%3A%2F%2Ftheresidency.libsyn.com%2Frss%22&format=json&callback=',
        dataType: "json"
    }).done(function(data) {
        $.each(data.query.results.rss.channel.item, function() {
            $("#results").append(this.enclosure.url + "<br />");
        });
    });
});​

我相信这就是您要找的,这里是 DEMONSTRATION

关于jquery - 使用 jquery 和 ajax 解析 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575079/

相关文章:

asp.net-mvc - ASP.NET MVC 2 - jquery ajax 响应失败

javascript - jQuery:防止堆叠动画

java - 自定义 KeyboardView 上的 keyOutputText 属性不输出任何文本

java - 没有找到适合响应类型的 HttpMessageConverter

javascript - Ajax/Javascript 删除确认文本而不使用对话框

javascript - 如何在 ASP.Net MVC 5 应用程序中的 JQueryUI DatePicker 中设置最小和最大日期

javascript - 检查最后一个字符是否为点 (.)

java - Java 中的 XSLT 转换可以输出无效标签警告吗

javascript - 使用 AJAX 时 ASP.NET MVC 页面未更新

php - 传递 javascript/ajax 参数时不会显示 codeigniter View