Как получить JSON или XML из разобранного Ext js Tree? - PullRequest
1 голос
/ 27 июня 2011

У меня есть дерево, загруженное из XML точно так же, как this .

Дополнительно я включаю перетаскивание.Теперь, после внесения изменений в дерево путем перетаскивания, мы сможем получить новые данные, чтобы я мог генерировать новый xml.

Даже JSON поможет заново сгенерировать новый xml.

1 Ответ

0 голосов
/ 27 июня 2011
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. Я сделаю это на стороне сервера ..

Надеюсь, что кто-то также может работать над этим.

...