How can I handle XML namespaces in CSS Selectors or in jQuery?

前端 未结 2 1633
天涯浪人
天涯浪人 2021-01-13 04:06

I use jQuery to parse an RSS feed. I can successfully get the RSS feed using AJAX:

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


        
相关标签:
2条回答
  • 2021-01-13 04:15

    CSS allows you to specify namespaces for use with selectors within stylesheets.

    However, jQuery doesn't support this since you have no way of declaring the XML namespace in the first place (as jQuery has nothing to do with CSS besides borrowing from its selector syntax), so you have to treat the colon as a literal character instead by escaping it like so:

    xml.find("channel > itunes\\:image")
    
    0 讨论(0)
  • 2021-01-13 04:26

    I want to add something wired I just explored: If I try the above code on my rekonq browser (which uses webkit), I cannot find the <itunes:image> tag by searching for xml.find("channel > itunes\\:image").

    I have to omit the term itunes: and have to type xml.find("channel > image"). So we have:

    xml.find("channel > itunes\\:image") /* Firefox */
    
    xml.find("channel > image") /* Rekonq (maybe also Safari and Chrome?!) */
    
    0 讨论(0)
提交回复
热议问题