我通过 MSXML2.DOMDOCUMENT.3.0 ActiveXObject 从 aspx 页面加载 XML。
var xmlDoc = null;
try {
xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDoc.setProperty("SelectionLanguage", "XPath");
}
catch (e) {
window.alert("CreateXMLDocument failed due to the following problem: " + e.description);
}
if (xmlDoc != null) {
xmlDoc.async = false;**
var result = xmlDoc.load("xmlData.aspx");
if (result == false) {
window.alert("failed to load xml due to the following problem: " + xmlDoc.parseError.Reason);
}
else {
window.alert(xmlDoc.selectSingleNode("//RESULT").text);
}
}
提供xml数据的aspx页面:
<%@ Page Language = "JScript" EnableSessionState="ReadOnly" %>
<% Response.Buffer = true %>
<%
Response.ContentType = "text/xml";
Response.Write("<?xml version='1.0'?>");
Response.Write("<RESULT>1</RESULT>");
%>
对此有什么想法吗?
更新:我发现XMLDOM无法在IE9中从https同步加载xml,然后使用XMLHTTP加载xml没有问题。但现在的问题是 XMLHTTP 加载的 xslt 无法用于转换 xml。
再次更新:说 XML DOM 无法从 IE9 中的 https 同步加载 xml 是不正确的。在IE9 Internet选项-->高级-->安全-->“不将加密的页面保存到磁盘”中,如果选中它,就会出现该问题。取消勾选,问题解决。
您应该阅读以下内容以获得解释: