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

发布于 2024-11-17 10:26:11 字数 226 浏览 2 评论 0原文

我有 Tree,从 XML 加载,就像 这个

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

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

I have Tree, loaded from XML exactly like this.

Additionally I enable drag and drop.
Now after making changes in tree by drag and drop, we should be able to get new data so that I can generate new xml.

Even JSON would help to re-generate new xml.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情愿 2024-11-24 10:26:11
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。我会在服务器端完成它。

希望有人也可以处理它。

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));

Can't think about creating XML. I'll make it on server side..

Hope someone could also work on it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文