我在IE下能正常读出,可是在 fireFox 下怎么就不行了啊
<SCRIPT LANGUAGE="JavaScript">
<!--
function loadXML(){
        var xmlDoc;
        if (window.ActiveXObject){
                xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async=false;
        }
        // code for Mozilla, Firefox, Opera, etc.
        else if (document.implementation && document.implementation.createDocument){
                var parser=new DOMParser();
                   xmlDoc=parser.parseFromString('xml',"text/xml");
                xmlDoc.async=false;
        }
        else{
                alert('Your browser cannot handle this script');
        }
        return  xmlDoc;
}function gotoReadNEWS(){ 
        var xmlDom=loadXML()
        var file="a.xml";
        xmlDom.load(file);
        if(xmlDom.documentElement==null)return        //文件不存在,或文档有误或其它都会立即停止
        //var str=xmlDom.getElementsByTagName("c")[0].firstChild.nodeValue
        var str=xmlDom.documentElement.selectNodes("//news[0]").item(0).text;
        alert(str)
}
//-->
</SCRIPT>/****************  a.xml *********************/<?xml version="1.0" encoding="UTF-8"?>
<news>
<c>测试数据</c>
</news>

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function loadXML(){
            var xmlDoc;
            if (window.ActiveXObject){
                    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
                    xmlDoc.async=false;
            }
            // code for Mozilla, Firefox, Opera, etc.
            else if (document.implementation && document.implementation.createDocument){
                    xmlDoc=document.implementation.createDocument("", "", null);
                    xmlDoc.async=false;
            }
            else{
                    alert('Your browser cannot handle this script');
            }
            return  xmlDoc;
    }function gotoReadNEWS(){ 
            var xmlDom=loadXML()
            var file="a.xml";
            xmlDom.load(file);
            if(xmlDom.documentElement==null)return        //文件不存在,或文档有误或其它都会立即停止
            //var str=xmlDom.getElementsByTagName("c")[0].firstChild.nodeValue
            if(window.ActiveXObject) str=xmlDom.documentElement.selectNodes("//news[0]").item(0).text;
            else{
             var oEvaluator = new XPathEvaluator();
             var oResult = oEvaluator.evaluate("/news/c/text()",xmlDom.documentElement,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
                var aNodes = new Array();
                if (oResult != null) {
                   var oElement;
                   while (oElement = oResult.iterateNext()) {
                       aNodes.push(oElement);
                   }
                }
                str = aNodes[0].nodeValue;
            }
            alert(str);
    }gotoReadNEWS();
    //--></SCRIPT>
      

  2.   

    hookee()  太感谢你了,太好了,谢谢你
      

  3.   

    通常在获取子结点是要判断结点类型nodeType。