javascript - 使用 jQuery 解析 Reddit XML 时出现问题

标签 javascript jquery

我正在尝试使用 subreddit 的 reddit XML feed,但在使用 JavaScript 解析它时遇到问题。

我有这个代码

function parseXml(xml) {
    var xmlResult = "";
    $(xml).find("item").each(function() {
        xmlResult = xmlResult + ($(this).find("title").text()) + "<br />";
    });
    document.write(xmlResult);
}

但问题是它重复了标题。

在 Reddit XML feed 中,有标题和 media:title 标签。我如何解决这个重复问题。

示例:标题是“非常棒的帖子标题”,在我的输出中,我得到“非常非常棒的帖子标题非常非常棒的帖子标题”。

最佳答案

问题是<item> element 包含两个名为 <title> 的元素具有相同的值:

<item>
  <title>Really awesome title of post</title>
  ...
  <media:title>Really awesome title of post</media:title>
  ...
</item>

当您使用title时选择器,jQuery 返回它们并将它们的文本连接在一起。

解决方法是选择第一个元素:

$(this).find("title").first().text()

由于元素无论如何都包含相同的值,因此获得哪个并不重要。

关于javascript - 使用 jQuery 解析 Reddit XML 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295493/

相关文章:

javascript - 如何使用键值创建 jquery 数组

javascript - 访问 Prime UI 在自动完成中选择的项目 (pui-autocomplete)

javascript - 主题/使用 javascript?

javascript - 更改对象的属性也会影响另一个对象

jquery - 松树通知容器

JQuery Load 函数返回 405 Method not Allowed

javascript - 使用祖鲁时间的 .format() 的 Moment.js 问题

javascript - Angular 在渲染时删除前导空白

javascript - 获取外部引用的类属性是本地的和内联的?

javascript - 如何通过 mod_pagespeed 加载 jquery.min.js?