我使用jQuery来解析RSS提要。我可以使用AJAX成功获取RSS提要:
$.get("podcast.xml", function (data) {
xml = $(data);
}, "xml");
现在我可以使用xml.find("channel > title").text()
获取播客的标题。如何在RSS Feed中选择<itunes:image>
标记?
命令xml.find("channel > itunes:image")
不起作用,因为:
在CSS中分隔标记名称和伪类。我也试过了xml.find("channel > image")
,但它不起作用。
如何在CSS选择器或jQuery中处理XML命名空间?
答案 0 :(得分:7)
CSS允许您指定namespaces以便在样式表中使用selectors。
然而,jQuery不支持这一点,因为你无法首先声明XML命名空间(因为jQuery除了借用其选择器语法之外与CSS无关),所以你必须将冒号视为一个文字字符,而不是像这样逃避:
xml.find("channel > itunes\\:image")
答案 1 :(得分:3)
我想添加一些我刚刚探讨过的有线内容:如果我在我的rekonq浏览器(使用webkit)上尝试上述代码,则通过搜索<itunes:image>
找不到xml.find("channel > itunes\\:image")
标记。
我必须省略术语itunes:
,并且必须输入xml.find("channel > image")
。所以我们有:
xml.find("channel > itunes\\:image") /* Firefox */
xml.find("channel > image") /* Rekonq (maybe also Safari and Chrome?!) */