2011-06-27 8 views
1

私はTreeを持っており、XMLから正確にthisのようにロードされます。解析されたExt jsツリーからJSONまたはXMLを取得する方法は?

さらに、ドラッグアンドドロップを有効にします。 ドラッグアンドドロップでツリーを変更した後、新しいデータを取得して新しいxmlを生成できるようにする必要があります。

でもJSONは新しいxmlを再生成するのに役立ちます。

答えて

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の作成について考えることはできません。私はサーバー側でそれを作るでしょう。

誰かがそれに取り組むこともできます。

関連する問題