如何从解析的Ext js Tree中获取JSON或XML?

时间:2011-06-27 05:57:18

标签: xml json extjs tree treepanel

我有Tree,从XML加载,与this完全相同。

此外,我启用了拖放功能。 现在通过拖放在树中进行更改后,我们应该能够获取新数据,以便生成新的xml。

即使是JSON也有助于重新生成新的xml。

1 个答案:

答案 0 :(得分:0)

function getJson(treeNode) {
    treeNode.expandChildNodes();
    var json = {};
    var attributes = treeNode.attributes;
    for(var item in attributes){
        if (item == 'src' || item == 'text') {   //only use required attributes
            json[item] = attributes[item];
        }
    }
    json.children = [];
    if(treeNode.childNodes.length > 0){
        for (var i=0; i < treeNode.childNodes.length; i++) {
            json.children.push(getJson(treeNode.childNodes[i]));
        }
    }
    return json;
}

// To use above function:
var comp = Ext.getCmp('tree-panel'); //id of the tree panel
var myJSON = getJson(comp.getRootNode());
console.log(Ext.encode(myJSON.children));

无法考虑创建XML。我会在服务器端制作..

希望有人也可以继续努力。