我将以下XML作为字符串:

<battery_content>
    <last_update>2012-15-09-22-40</last_update>
    <total_downloads>234</total_downloads>
    ......
</battery_content>


我从Ajax请求中获取XML,并将其存储在sXMLData中。我快速进行了window.alert(sXMLData),一切都很好。

当我在IE8中运行下一个代码时,它似乎无法正常工作。 Chrome和Firefox可以工作。

window.alert("last_update" + $(sXMLData).find("last_update").text());


我似乎不知道为什么。此方法不适用于IE8吗?如果可以,我该如何解决?

最佳答案

处理“ XML作为哑字符串”的正确方法是首先将其通过$.parseXML传递:

 window.alert(
     "last_update" + $($.parseXML(sXMLData)).find("last_update").text());


但是,如果出现以下情况,则无需手动执行此操作


服务器要么返回XML Content-Type
或使用dataType AJAX选项来获取XML的AJAX请求,以指定应将响应视为XML


如果服务器在您的控制之下,请对其进行修复以返回正确的内容类型。如果不是,请使用替代解决方案。我建议仅在您有充分理由不想从第三方代码获取字符串时,才手动解析XML。

09-11 17:37