1

我有以下 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吗?如果是这样,我该如何解决这个问题?

4

1 回答 1

3

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

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

但是,您不需要手动执行此操作,如果

  • 服务器返回一个XML Content-Type
  • 您获取 XML 的 AJAX 请求使用dataTypeAJAX 选项指定应将响应视为 XML

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

于 2012-11-17T20:21:47.043 回答