日期:2014-05-16  浏览次数:20340 次

关于js解析xml的问题
firefox下
<script   language= "javascript ">
function   getData()
{
        var   xmlD;
        xmlD   =   document.getElementById( "source ").contentWindow.document;
        alert(xmlD);
}
</script>
<body   onload= "getData() ">
<iframe   src= "http://... "   style= "display:block;width:500;height:300 "   id= "source "   name= "source "> <iframe>
</body>


src指向一个xml资源
而且alert(xmlD)在firefox下的提示也是一个[object   XMLDocument]..
但是却取不到他的根节点,和其它各个节点。
alert(xmlD.documentElement)没有反应,,,
alert(xmlD.getElementsByTagName( "xxx "))也没有反应。。。
很莫名其妙。。。

望指点一二。。。
谢谢

------解决方案--------------------
还真没这么用过,觉得应该是没有加载的问题。像下面这样改下看看
var xmlDoc = new ActiveXObject( "MSXML2.DOMDocument ");
xmlDoc.load(xmlD);//加载xml对象
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
if (xmlDoc.parseError.errorCode != 0)
{ //出错显示报错字符串
var myErr = xmlDoc.parseError;
alert( "An error occured \n " + myErr.reason);
return;
}
//处理:取出xml中item中间的数据,并放到数组中
var root = xmlDoc.documentElement;//items
alert(root);