解析XML标记属性适用于Firefox,但不适用于Chrome

时间:2013-10-01 14:47:46

标签: javascript google-chrome xml-parsing rss

所以我有一个rss feed,我试图从 media:thumbnail 标签中读取 url 属性。以下代码在Firefox中完美运行,但在Chrome中则不能,它只记录 undefined

$.ajax({
      type:"GET",
      url:url,
      dataType:'xml',
      success: function(xml){
            $(xml).find('item').each(function(){
            console.log($(this).find("media\\:thumbnail").attr('url'))
             });
            }
          });

我在互联网上搜索了几个小时没有成功。有谁能告诉我出了什么问题?

1 个答案:

答案 0 :(得分:1)

我做了更多研究,getElementsbyTagNameNS似乎是最好的解决方案(适用于Firefox和Chrome):

var xmlhttp;
var img;
if(window.XMLHttpRequest)  {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET",url,true);
xmlhttp.send();
xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        xmlDoc=xmlhttp.responseXML;

        var items = xmlDoc.getElementsByTagName("item");

        for (i = 0; i<items.length;i++){

            img= items[i].getElementsByTagNameNS("*","thumbnail")[0].getAttribute('url');


            }
        }



    }
}