XML

    技术2025-01-28  22

    // 读取xml菜单Ext.Ajax.request({            url : cfg.menuXml,            success : function(response, opts) {                var doc = response.responseXML;                var rootNode = doc.documentElement || doc;                // 递归产生树节点                var createTreeNode = function(node) {                    var attr = {};                    for (var i = 0; i < node.attributes.length; i++) {                        attr[node.attributes[i].name] = node.attributes[i].value;                    }                    var treeNode = new Ext.tree.TreeNode(attr);                    // 递归产生子节点                    var nodes = Ext.DomQuery.select('/node', node);                    for (var i = 0; i < nodes.length; i++) {                        treeNode.appendChild(createTreeNode(nodes[i]));                    }                    return treeNode;                };                // 设置树的根节点                cfg.owner.panelWest.setRootNode(createTreeNode(rootNode));            }        });

    解析对应XML为

    <?xml version="1.0" encoding="UTF-8"?><node text="aaa">    <node text="aaa1" href="index.jsp" hrefTarget="iframe_center"/>    <node text="aaa2">        <node text="aaa21" href="bbb21" hrefTarget="iframe_center"/>        <node text="aaa22" href="bbb22" hrefTarget="iframe_center"/>    </node>    <node text="aaa3" href="bbb3" hrefTarget="iframe_center"/></node>

    节点属性为任何合法的Ext.tree.TreeNode构造属性。

    最新回复(0)