本帖最后由 jiangpinhe 于 2010-04-09 15:00:11 编辑

解决方案 »

  1.   

    给你个例子,很详细<html>
    <body>
    <script type="text/javascript">
    var xml = 
    '<admin>\n' +
    '    <Attribute id = "Sort">0</Attribute>\n' +
    '    <Attribute id = "SortView">0</Attribute>\n' +
    '    <Attribute id = "TCView">0</Attribute>\n' +
    '    <Attribute id = "Deep">4</Attribute>\n' +
    '    <Attribute id = "TCode"></Attribute>\n' +
    '    <Nodes>\n' +
    '        <_1>\n' +
    '            <_1 id="Text">1111</_1>\n' +
    '            <_1 id="ID">A-2018</_1>\n' +
    '            <_1 id="Deep">0</_1>\n' +
    '            <_1 id="Sort">0</_1>\n' +
    '            <_1 id="ParentID">null</_1>\n' +
    '            <_1 id="Taxis">0</_1>\n' +
    '            <_1 id="Display"></_1>\n' +
    '            <_1 id="Class"></_1>\n' +
    '            <_1 id="Type">0</_1>\n' +
    '            <_1 id="TCode"></_1>\n' +
    '        </_1>\n' +
    '        <_2>\n' +
    '            <_2 id="Text">2222</_2>\n' +
    '            <_2 id="ID">A-2018</_2>\n' +
    '            <_2 id="Deep">0</_2>\n' +
    '            <_2 id="Sort">0</_2>\n' +
    '            <_2 id="ParentID">null</_2>\n' +
    '            <_2 id="Taxis">0</_2>\n' +
    '            <_2 id="Display"></_2>\n' +
    '            <_2 id="Class"></_2>\n' +
    '            <_2 id="Type">0</_2>\n' +
    '            <_2 id="TCode"></_2>\n' +
    '        </_2>\n' +
    '    </Nodes>\n' +
    '</admin>\n';
    if (typeof ActiveXObject == 'function')
    {
        xmldoc = new ActiveXObject('Microsoft.XMLDOM');
        xmldoc.loadXML(xml);
    } else { // firefox
        xmldoc = (new DOMParser()).parseFromString(xml, 'text/xml');
        XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath) {
            var xpe = new XPathEvaluator(); 
            var nsResolver = xpe.createNSResolver( this .ownerDocument == null ? 
                this .documentElement : this .ownerDocument.documentElement); 
            var result = xpe.evaluate(xpath, this , nsResolver, 0 , null ); 
            var found = []; 
            var res; 
            while (res = result.iterateNext()) 
                found.push(res); 
            return found; 
        } 
    }var result = 
    'var Cont = {\n' +
    '\t"Nodes": [\n';
    var nodes = xmldoc.selectNodes('admin/Nodes');
    if (nodes.length > 0) {
        nodes = nodes[0];
        var nodeFirst = true;
        for (var i = 0; i < nodes.childNodes.length; i++) {
            var node = nodes.childNodes[i];
            if (node.nodeType == 1) {
                result += '\t\t' + (!nodeFirst ? ',' : '') + '{\n';
                nodeFirst = false;
                var childFirst = true;
                for (var j = 0; j < node.childNodes.length; j++) {
                    var child = node.childNodes[j];
                    if (child.nodeType == 1) {
                        result += '\t\t\t' + (!childFirst ? ',' : '') + '"' + child.getAttribute('id') + '": ' + '"' + 
                            (child.childNodes.length > 0 && child.childNodes[0].nodeType == 3 ? 
                            child.childNodes[0].nodeValue : '').replace(/"/, '\\"') + '"\n';
                        childFirst = false;
                    }
                }
                result += '\t\t}\n';
            }
        }
    }
    result += '\t]\n';
    var nodes = xmldoc.selectNodes('admin/Attribute');
    result += '\t,"Attribute":{\n';
    var nodeFirst = true;
    for (var i = 0; i < nodes.length; i++) {
        var node = nodes[i];
        if (node.nodeType == 1) {
            result += '\t\t' + (!nodeFirst ? ',' : '') + '"' + node.getAttribute('id') + '": ' + '"' + 
                (node.childNodes.length > 0 && node.childNodes[0].nodeType == 3 ? 
                node.childNodes[0].nodeValue : '').replace(/"/, '\\"') + '"\n';
            nodeFirst = false;
        }
    }
    result += '\t}\n};';
    alert(result);
    </script>
    </body>
    </html>你在此基础上改改就行!!
      

  2.   

    输出的结果是:var Cont = {
        "Nodes": [
            {
                "Text": "1111"
                ,"ID": "A-2018"
                ,"Deep": "0"
                ,"Sort": "0"
                ,"ParentID": "null"
                ,"Taxis": "0"
                ,"Display": ""
                ,"Class": ""
                ,"Type": "0"
                ,"TCode": ""
            }
            ,{
                "Text": "2222"
                ,"ID": "A-2018"
                ,"Deep": "0"
                ,"Sort": "0"
                ,"ParentID": "null"
                ,"Taxis": "0"
                ,"Display": ""
                ,"Class": ""
                ,"Type": "0"
                ,"TCode": ""
            }
        ]
        ,"Attribute":{
            "Sort": "0"
            ,"SortView": "0"
            ,"TCView": "0"
            ,"Deep": "4"
            ,"TCode": ""
        }
    };
      

  3.   

    http://www.xue5.com/itedu/200802/102869.html又找了找,这个感觉更好也可以,还是LZ自己多看看吧!!
      

  4.   

    test.xml<?xml version="1.0"?>
    <channel>
    <title>Key Events from Joe Santoro</title>
    <item>
    <title>IMPACT 2010</title>
    <eventsstart>May 02, 2010 12:00 AM</eventsstart>
    <eventsend>May 07, 2010 12:00 AM</eventsend>
    </item>
    <item>
    <title>IMPACT 2010</title>
    <eventsstart>May 02, 2010 12:00 AM</eventsstart>
    <eventsend>May 07, 2010 12:00 AM</eventsend>
    </item>
    </channel>js:
    <SCRIPT LANGUAGE="JavaScript">
        var json=new Array();
    var doc = new ActiveXObject('Microsoft.XMLDOM');
    doc.load(xmlpath);//path

    var items = doc.getElementsByTagName("item");
    for(var i=0;i<items.length;i++){
    var item = items[i];
    var obj=new Array();
    obj["title"] = item.getElementsByTagName("title")[0].text ;
    obj["eventsstart"] = item.getElementsByTagName("eventsstart")[0].text ;
    obj["eventsend"] = item.getElementsByTagName("eventsend")[0].text ;
    json.push(obj);
    }
    </script>
      

  5.   

    http://www.thomasfrank.se/xml_to_json.html
      

  6.   

    http://www.diysys.com有很多关于php,mysql,js,css,json的信息,适合新手和进阶者
      

  7.   

    xml to json 這個有jquery plug啊