是否有可能在jQuery(在IE中)解析不是来自ajax调用的xml?

时间:2011-02-11 02:05:02

标签: jquery xml internet-explorer

看起来它适用于Safari和Firefox,但不适用于IE。我有一个任意的XML字符串,它来自Flash响应(它很复杂)。

这是一个JSFiddle,它试图在XML中找到一个简单的标记:http://jsfiddle.net/MJSa8/5/

我在其他地方读到,当谈到Ajax响应器时,你必须确保将内容类型设置为xml以使其在IE中工作,但这只是一串XML。有没有办法迫使IE将其视为XML?

编辑:同时将代码示例放在此处以供参考:

var xml ='<postresponse><location>http://something.s3.amazonaws.com/15o96sf3h1div1auj121e1oc3j1u.png</location><bucket>something</bucket><key>15o96sf3h1div1auj121e1oc3j1u.png</key><etag>"85d3db1aaeb47aecaace540c7ce7a609"</etag></postresponse>';
var len = $(xml).find('location').length;
$('#output').text(len);

1 个答案:

答案 0 :(得分:1)

试试这个:

var xml ='<postresponse><location>http://something.s3.amazonaws.com/15o96sf3h1div1auj121e1oc3j1u.png</location><bucket>something</bucket><key>15o96sf3h1div1auj121e1oc3j1u.png</key><etag>"85d3db1aaeb47aecaace540c7ce7a609"</etag></postresponse>';

if (window.DOMParser)
{
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(xml,"text/xml");
}
else // Internet Explorer
{
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.loadXML(xml); 
}