关于xml dom,不能load文件的问题。 你的xml应该已经load了你把alert(xmlDoc.doctype);换成alert(xmlDoc.xml);看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 换成alert(xmlDoc.xml);之后显示的是空白 xmlDoc.load(file_path);这句意思是加载xml文件,但不一定直接就加载完毕了。所以必须在得反复判断加载得状态,知道加载完毕了,才能访问xml的实际内容。参考var xmlDoc;function hehe(){ if(window.ActiveXObject) { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.onreadystatechange=function() { if(xmlDoc.readyState==4) { handleXmlDoc(); } } xmlDoc.load("data.xml"); } else if(document.implementation&&document.implementation.createDocument) { xmlDoc=document.implementation.createDocument('','',null); xmlDoc.onload=handleXmlDoc; xmlDoc.load("data.xml"); }}function handleXmlDoc(){ alert(xmlDoc);}加载xml和ajax有点类似,需要判断状态。 回复changke18:还是不行onreadystatechange函数,是检查xmlDoc是不是ready,如果不是的话这个方法if里面的语句就被跳过了,你说要反复判断,这里貌似没有反复的过程 我在IE7下正常显示xml文件内容啊,检查下你的xml文件treeSrc.xml<?xml version="1.0"?><root> <item>The Item</item></root><script type="text/javascript"> window.onload=buildTree;function buildTree(){ var file_path = "treeSrc.xml"; var xmlDoc; try{ xmlDoc = loadXMLDoc(file_path); } catch(e){ alert("对不起," + e.message); } alert(typeof xmlDoc); alert(xmlDoc.xml);}function loadXMLDoc(file_path){ var xmlDoc; var analyzers = ["MSXML2.DOMDocument.5.0", "MSXML2.DOMDocument.4.0", "MSXML2.DOMDocument.3.0", "MSXML2.DOMDocument", "Microsoft.XmlDom"]; if(window.ActiveXObject){ for(var i=0; i < analyzers.length; i++){ try{ xmlDoc = new ActiveXObject(analyzers[i]); xmlDoc.async = false; xmlDoc.load(file_path); alert(xmlDoc.xml); return xmlDoc; } catch(e){ } } } else if(document.implementation && document.implementation.createDocument){ xmlDoc = document.implementation.createDocument("","",null); xmlDoc.async = false; xmlDoc.load(file_path); return xmlDoc; } throw new Error("该浏览器无法执行该程序!");}</script> 回复yonghengdexingxing:真的是xml文件的问题,谢谢你,谢谢各位刚忙 那你的xml开始有什么问题?导致不能正常load IE7、360、搜狗等支持标签样式的Web页面如何截获onunload等关闭事件! 求教js ie6兼容性 js中加按钮,初学求教! 幻灯片问题,寻flash高手 急!!!!!!!!!!!!! 怎样实现这样的网页? js中关于1与11,2和22的判断 extjs扩展树 回车键相当于TAB,空格键提交,一个提交按钮按下就不能在提交了。 如何去掉讨厌的提示框。在线等待 求救!!! 怎么改变图片的连接??? 在线求答!!!!! 关于Json的问题 帮下JS问题
这句意思是加载xml文件,但不一定直接就加载完毕了。
所以必须在得反复判断加载得状态,知道加载完毕了,才能访问xml的实际内容。参考
var xmlDoc;
function hehe()
{
if(window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.onreadystatechange=function()
{
if(xmlDoc.readyState==4)
{
handleXmlDoc();
}
}
xmlDoc.load("data.xml");
}
else if(document.implementation&&document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument('','',null);
xmlDoc.onload=handleXmlDoc;
xmlDoc.load("data.xml");
}
}
function handleXmlDoc()
{
alert(xmlDoc);
}加载xml和ajax有点类似,需要判断状态。
onreadystatechange函数,是检查xmlDoc是不是ready,如果不是的话这个方法if里面的语句就被跳过了,
你说要反复判断,这里貌似没有反复的过程
<root>
<item>The Item</item>
</root><script type="text/javascript">
window.onload=buildTree;function buildTree(){
var file_path = "treeSrc.xml";
var xmlDoc;
try{
xmlDoc = loadXMLDoc(file_path);
}
catch(e){
alert("对不起," + e.message);
} alert(typeof xmlDoc);
alert(xmlDoc.xml);
}
function loadXMLDoc(file_path){
var xmlDoc;
var analyzers = ["MSXML2.DOMDocument.5.0",
"MSXML2.DOMDocument.4.0",
"MSXML2.DOMDocument.3.0",
"MSXML2.DOMDocument",
"Microsoft.XmlDom"];
if(window.ActiveXObject){
for(var i=0; i < analyzers.length; i++){
try{
xmlDoc = new ActiveXObject(analyzers[i]);
xmlDoc.async = false;
xmlDoc.load(file_path);
alert(xmlDoc.xml);
return xmlDoc;
}
catch(e){
}
}
}
else if(document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument("","",null);
xmlDoc.async = false;
xmlDoc.load(file_path);
return xmlDoc;
}
throw new Error("该浏览器无法执行该程序!");}
</script>