我正在将tslr博客的rss提要解析到我的网站上。我试图做的是使用jQuery来解析Feed中的一些特定信息。这里是下面的代码段:用jquery解析RSS提要的属性
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
<channel>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="hub" href="http://tumblr.superfeedr.com/"/>
[lots of stuff]
</channel>
</rss>
现在,我希望做的就是HREF =“http://tumblr.superfeedr.com/”从进料,因为这将帮助我确认Feed实际上来自tumblr博客。
然而,问题在于我对于如何做到这一点卡住了一点。我一直在尝试使用以下内容:
$.get(blogUrl,
function(data) {
var xml = $(data);
var foo = xml.find('atom:link').attr('href');
alert("link href=" + foo);
});
其中blogUrl是所讨论的rss提要的网址。我在这方面尝试了许多变化 - 这么多以至于我开始转圈了 - 所以我想我会在这里问。我尝试将'atom:link'改为'atom \:link',并将'.text()'添加到find命令的末尾,但没有运气。我也可以得到整个频道的全文,除了原子:链接数据在开始,这是接近但不是正确的!
那么,我怎么能得到我以后的信息呢?我所见过的所有代码指南和以前的问题都集中在通过rss提要中的多个重复项目进行迭代(这当然是有道理的,因为这就是你应该用rss提要做的),但我只是想确认所选饲料是预期的正确饲料类型。
谢谢!
UPDATE:由于下面的帮助下亚什德,我能得到这个工作。这是更新的代码。
$.get(blogUrl,
function(data) {
var doc = data.getElementsByTagNameNS("http://www.w3.org/2005/Atom", "link")[0];
var href = dic.getAttribute("href");
}
谢谢!这看起来很棒 - 但不幸的是,我似乎无法让它表现得很好。在$ .get的回调函数中,函数接收到“data”,当我使用console.log(data)时,它会以#document对象的形式出现,然后我可以正确浏览。但是,当我尝试使用DOMParser()时,它拒绝做任何事情并声称“文档是空的”。我在想,我需要更改#document对象,使其更符合DOMParser的期望 - 任何想法? – plone
其实,从头开始 - 你的方法奏效了!我将更新上面的代码以反映我所做的。再次感谢,你摇滚:D – plone