呵呵,我算是拍砖吧。说句不好听的话,这是让人吐血的代码。理由如下:
1.变量名尽是a,b...函数名就bb,这样的代码,多数公司看见是会pass的。2.楼主new ActiveXObject("Microsoft.XMLDOM");一个对象后就只知道一个load方法,呵呵,想想微软不会这么笨只提供各load还有很多方法,你直接调用,那需要这么多代码3.你这个只能解析列表形式的代码,功能太简单了水平有待提高。

解决方案 »

  1.   

    google一下,这样的代码网上泛滥
      

  2.   

    变量名……
    只有IE能用……
    用了XML还用正则来解析……
      

  3.   

    本身xmldom对象就已经解析了xml文件,不用画蛇添足再自己解析一次,参考如下代码:
    <html>
    <body></body>
    <script>
    function Xml2Html(file)
    {
    var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
    xmldoc.load(file);
    var result = "<ul>" + Node2Html(xmldoc.documentElement) + "</ul>";
    return result;
    }function Node2Html(node)
    {
    var result = "<li>";
    if (node.nodeType == 3)
    result += "\"" + node.nodeValue + "\"";
    else result += node.nodeName;
    if (node.childNodes.length > 0)
    {
    result += "<ul>";
    for (var i = 0; i < node.childNodes.length; i++)
    result += Node2Html(node.childNodes[i]);
    result += "</ul>";
    }
    result += "</li>";
    return result;
    }document.body.innerHTML = Xml2Html("a.xml");
    </script>
    </html>
      

  4.   

    用xmldom对象的方法好是好  但是对于只取标签值  不取文本值好像不太容易吧
    如:
    <java>hehe</java>  只取java不去hehe   用xmldom可以吗?  谁会啊???
      

  5.   

    自己按照9楼朋友的代码  if (node.nodeType == 3)
            result += "\"" + node.nodeValue + "\"";
    改为 
    if (node.nodeType == 3) node.parentNode.removeChild(node); 
    结果完全不行  请高手帮忙~~~
      

  6.   

    <html>
    <body></body>
    <script>
    function Xml2Html(file)
    {
        var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
        xmldoc.load(file);
        var result = "<ul>" + Node2Html(xmldoc.documentElement) + "</ul>";
        return result;
    }function Node2Html(node)
    {
        var result = "<li>";
        if (node.nodeType == 3)
    return ""; // 如果是 Text
        else result += node.nodeName;
        if (node.childNodes.length > 0)
        {
            result += "<ul>";
            for (var i = 0; i < node.childNodes.length; i++)
                result += Node2Html(node.childNodes[i]);
            result += "</ul>";
        }
        result += "</li>";
        return result;
    }document.body.innerHTML = Xml2Html("a.xml");
    </script>
    </html>
      

  7.   

    按照13楼朋友的做法
    如果:
    <java>hehe </java>  只取hehe不取java 下面这么做怎么不行啊??? 
    if (node.nodeType == 3)
            result += "\"" + node.nodeValue + "\"";
        else result += node.nodeName;
    改为: 
    if (node.nodeType == 3)
           result+= "\"" + node.nodeValue + "\"";
        else return "";
      

  8.   

    查看
    http://www.v-ec.com/jslib源文件!