我该如何处理在CSS选择或jQuery的XML命名空间?(How can I handle XML

2019-06-26 07:41发布

我使用jQuery来解析RSS源。 我可以成功地得到使用AJAX的RSS提要:

$.get("podcast.xml", function (data) {
    xml = $(data);
}, "xml");

现在我可以用得到的播客的标题xml.find("channel > title").text() 我怎样才能选择<itunes:image>在我的RSS提要标签?

命令xml.find("channel > itunes:image")不起作用,因为:在CSS标签名称和伪类分开。 我也试过xml.find("channel > image")但它不工作。

我该如何处理在CSS选择或jQuery的XML命名空间?

Answer 1:

CSS允许您指定的命名空间与使用选择样式表内。

然而,jQuery的不支持这一点,因为你没有在第一时间宣布了XML命名空间的方式(如jQuery有无关CSS除了其选择器语法借用),所以你必须把冒号作为文字字符而不是通过转义它像这样:

xml.find("channel > itunes\\:image")


Answer 2:

我想补充一点有线我只是探讨:如果我试图在我的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?!) */


文章来源: How can I handle XML namespaces in CSS Selectors or in jQuery?