那试试看var xml = xmlHttp.responseText;用loadXML(xml)的方式创建Document对象,这样就可以知道load后到底错在哪里了。
var xmlDoc=xmlHttp.ResponseXML; 没这么写的啊 function getXMLDOM(){ if(Browser.isIE){ var xmldomversions = ['MSXML2.DOMDocument.5.0', 'MSXML2.DOMDocument.4.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument', 'Microsoft.XMLDOM']; for(var i=0;i<xmldomversions.length;i++) try{ return new ActiveXObject(xmldomversions[i]); }catch(e){ } return document.createElement("XML"); }else if (Browser.isMozilla) { return document.implementation.createDocument('', '', null); } return null; }
解决了,下面这样: var msg = xmlHttp.responseText; alert(msg); if (typeof DOMParser != "undefined") { // Mozilla, Firefox, and related browsers xmlDoc = (new DOMParser( )).parseFromString(msg, "application/xml"); }
else if (typeof ActiveXObject != "undefined") { // Internet Explorer. xmlDoc = new ActiveXObject("MSXML2.DOMDocument"); // Create an empty document xmlDoc.loadXML(msg); }
out.println("<?xml version=\"1.0\" encoding=\"gb2312\"?>"); out.println("<xml>"); out.print("<text>");
out.println(sbuf);
out.println("</text>");
out.print("<id>");
out.print(SaveDocs.getId());
out.println("</id>");
out.print("</xml>");
但是还是不行,调试发现xmlDoc总是null,不知道为什么没有得到。
整了一下午了,还是没搞定
alert可以得到一个[object]但是 var textNode=xmlDoc.getElementsByTagName("id")[0];
alert(textNode.firstChild.nodeValue);
就有问题,不知道为什么??
我用firebug调试了下,显示下面的错误。
nodevalue:
"XML解析错误:xml处理指令不在外部实体的开始部分\n位置:http://localhost/CoDocs/LoadDocs\n行:2,列:1"
干脆把这句去掉试试看
IE下试试看
var textNode=xmlDoc.selectSingleNode("//id");
alert(textNode.text);
不管是在ff还是在ie下都不行,真是麻烦你了。从调试上看,好像是得到xml的时候就出错了
没这么写的啊
function getXMLDOM(){
if(Browser.isIE){
var xmldomversions = ['MSXML2.DOMDocument.5.0', 'MSXML2.DOMDocument.4.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument', 'Microsoft.XMLDOM'];
for(var i=0;i<xmldomversions.length;i++)
try{
return new ActiveXObject(xmldomversions[i]);
}catch(e){
}
return document.createElement("XML");
}else if (Browser.isMozilla)
{
return document.implementation.createDocument('', '', null);
}
return null;
}
var msg = xmlHttp.responseText;
alert(msg);
if (typeof DOMParser != "undefined") {
// Mozilla, Firefox, and related browsers
xmlDoc = (new DOMParser( )).parseFromString(msg, "application/xml");
}
else if (typeof ActiveXObject != "undefined") {
// Internet Explorer.
xmlDoc = new ActiveXObject("MSXML2.DOMDocument");
// Create an empty document
xmlDoc.loadXML(msg);
}