比如votes.xml文件是这样的<?xml version="1.0" encoding="utf-8"?>
<votes id = "votesroot">
<option id = "70" movie = "建国大业" />
<option id = "71" movie = "当幸福来敲门" />
<option id = "72" movie = "风声" />
<option id = "73" movie = "2012" />
<option id = "74" movie = "后天" />
<option id = "75" movie = "花木兰" />
</votes>-----index.html<script type="text/javascript">
//读取xml的函数
function loadXMLDoc(dname) {
try {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e) {
  try {
    xmlDoc=document.implementation.createDocument("","",null);
    } catch(e) {alert(e.message);}
  }
try {
  xmlDoc.async=false;
  xmlDoc.load(dname);
  return(xmlDoc);
  } catch(e) {alert(e.message);}
return(null);
}var xmlDoc=loadXMLDoc("votes.xml");
var root = xmlDoc.documentElement;
alert(root.InnerText);
</script>结果是 不管alert(root.innerText);还是alert(root.innerHTML);其结果都为undefined请问我该如何读取这个votes里边的东西? <option id = "70" movie = "建国大业" />
<option id = "71" movie = "当幸福来敲门" />
<option id = "72" movie = "风声" />
<option id = "73" movie = "2012" />
<option id = "74" movie = "后天" />
<option id = "75" movie = "花木兰" />

解决方案 »

  1.   

    http://laoney.net/post/2009/07/04/200907041154270005.aspx
      

  2.   

    楼主你没有认真看我给你发的资料,你的xml文档本来就没有text类型的节点怎么可能获取啊?//Internet Explorer 使用loadXML()方法来解析XML字符串,而其他浏览器使用 DOMParser对象
    function createXmlDoc(xmlText) {
        if (!xmlText) return null;
        try {
            var xmlDom = new ActiveXObject("Microsoft.XMLDOM")
            xmlDom.loadXML(xmlText)
            return xmlDom
        }
        catch (e) {
            try {
                return new DOMParser().parseFromString(xmlText, "text/xml");
            } catch (e) {
                return null;
            }
        }
    }//获取节点及其子节点的文本内容
    function getXmlText(oNode) {
        if (oNode.text) {//IE
            return oNode.text;
        }
        var sText = "";
        for (var i = 0; i < oNode.childNodes.length; i++) {
            if (oNode.childNodes[i].hasChildNodes()) {
                sText += getXmlText(oNode.childNodes[i]);
            }
            else {
                sText += oNode.childNodes[i].nodeValue;
            }
        }
        return sText; //FF
    }//获取节点及其子节点的字符串标示
    function getXml(oNode) {
        if (oNode.xml) {
            return oNode.xml; //IE
        }
        var oSerializer = new XMLSerializer();
        return oSerializer.serializeToString(oNode); //FF
    }
    var xmlText = '<?xml version="1.0" encoding="utf-8"?><votes id = "votesroot"><option id = "70" movie = "建国大业" >建国大业</option><option id = "71" movie = "当幸福来敲门" /><option id = "72" movie = "风声" /><option id = "73" movie = "2012" /><option id = "74" movie = "后天" /><option id = "75" movie = "花木兰" /></votes>';var xmlDoc =  createXmlDoc(xmlText);
    alert(getXmlText(xmlDoc.documentElement));
    alert(getXml(xmlDoc.documentElement));
      

  3.   


    //Internet Explorer 使用loadXML()方法来解析XML字符串,而其他浏览器使用 DOMParser对象
    function createXmlDoc(xmlText) {
        if (!xmlText) return null;
        try {
            var xmlDom = new ActiveXObject("Microsoft.XMLDOM")
            xmlDom.loadXML(xmlText)
            return xmlDom
        }
        catch (e) {
            try {
                return new DOMParser().parseFromString(xmlText, "text/xml");
            } catch (e) {
                return null;
            }
        }
    }//获取节点及其子节点的文本内容
    function getXmlText(oNode) {
        if (oNode.text) {//IE
            return oNode.text;
        }
        var sText = "";
        for (var i = 0; i < oNode.childNodes.length; i++) {
            if (oNode.childNodes[i].hasChildNodes()) {
                sText += getXmlText(oNode.childNodes[i]);
            }
            else {
                sText += oNode.childNodes[i].nodeValue;
            }
        }
        return sText; //FF
    }//获取节点及其子节点的字符串标示
    function getXml(oNode) {
        if (oNode.xml) {
            return oNode.xml; //IE
        }
        var oSerializer = new XMLSerializer();
        return oSerializer.serializeToString(oNode); //FF
    }var xmlText = '<?xml version="1.0" encoding="utf-8"?><votes id = "votesroot"><option id = "70" movie = "建国大业" >建国大业</option><option id = "71" movie = "当幸福来敲门" /><option id = "72" movie = "风声" /><option id = "73" movie = "2012" /><option id = "74" movie = "后天" /><option id = "75" movie = "花木兰" /></votes>';var xmlDoc =  createXmlDoc(xmlText);
    alert(getXmlText(xmlDoc.documentElement));
    alert(getXml(xmlDoc.documentElement));var nodes = xmlDoc.documentElement.getElementsByTagName("option");
    for (var i = 0, len = nodes.length; i < len; i++) {
        alert(nodes[i].getAttribute("movie"));
    }