提问人:Mayank 提问时间:10/18/2023 最后编辑:ZakMayank 更新时间:10/19/2023 访问量:52
我的 RSS 提要中有重复的子元素。不会在 JavaScript 中解析它
I have duplicate child elements in my RSS feed. Won't parse it in JavaScript
问:
我正在从这个 URL 中提取 RSS 数据,这就是它们的数据结构的样子。
<item>
<itunes:episodeType>full</itunes:episodeType>
<itunes:season>6</itunes:season>
<itunes:episode>49</itunes:episode>
<itunes:season>6</itunes:season>
</item>
它有重复的子元素itunes:season。如何在 JavaSCript 中正确解析它?任何帮助都将得到赞赏!:)
这是我代码的要点:
success: function(data) {
.find("item")
.each(function() {
const el = $(this);
const seasonLS = el.find("itunes\\:season").text();
const episodeLS = el.find("itunes\\:episode").text();
};
我尝试通过子名获取它,但重复的子名将其扔掉。
编辑:
对不起,问题不明确。这是更多信息。
的预期输出为 。这个吐出来.
<itunes:season>
6
66
.find()
链接在下面:
const RSS_URL =*** URL ***
;
$.ajax(RSS_URL, {
accepts: {
xml: "application/rss+xml"
},
dataType: "xml",
success: function(data) {
console.log(data)
$(data)
.find("item")...
答:
0赞
Zak
10/18/2023
#1
如果你的目标是抓住这两个元素,不管有多少......为什么不直接创建一个 DOM 对象,然后按标签搜索。然后找到每个索引的第一个索引:
const htmlString = `<item>
<itunes:episodeType>full</itunes:episodeType>
<itunes:season>6</itunes:season>
<itunes:episode>49</itunes:episode>
<itunes:season>6</itunes:season>
</item>
<item>
<itunes:episodeType>full</itunes:episodeType>
<itunes:season>7</itunes:season>
<itunes:episode>55</itunes:episode>
<itunes:season>5</itunes:season>
</item>`;
const domParser = new DOMParser();
const docElement = domParser.parseFromString(htmlString, "text/html").documentElement;
var emCollection = docElement.getElementsByTagName("item");
for (var i = 0; i < emCollection.length; i++) {
const seasonLS = emCollection[i].getElementsByTagName('itunes:season')[0].innerHTML;
const episodeLS = emCollection[i].getElementsByTagName('itunes:episode')[0].innerHTML;
console.log("Episode: " + episodeLS + "\n Season: " + seasonLS)
}
评论
.find