1

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

我有这个代码

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

但问题是它重复了标题。

在 Reddit XML 提要中,有标题和 media:title 标记。我如何解决这个重复。

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

4

1 回答 1

0

问题是该<item>元素包含两个以<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()

由于这些元素无论如何都包含相同的值,所以你得到哪一个并不重要。

于 2014-12-20T05:13:27.697 回答