-1
{
    "attrs": {
        "width": 578,
        "height": 200
    },
    "nodeType": "Stage",
    "children": [
        {
            "attrs": {},
            "nodeType": "Layer",
            "children": [
                {
                    "attrs": {
                        "x": 289,
                        "y": 100,
                        "sides": 6,
                        "radius": 70,
                        "fill": "red",
                        "stroke": "black",
                        "strokeWidth": 4
                    },
                    "nodeType": "Shape",
                    "shapeType": "RegularPolygon"
                }
            ]
        }
    ]
}

我已经解析了上面的 json 数据,但我不知道如何将数据附加到 xml 标签。感谢任何帮助。我想要使用 jquery 的具有确切父节点和子节点的 xml 标签。

4

2 回答 2

0

我在谷歌快速搜索后发现了这个功能(来源):

json2Xml = function(json, node) {
    var root = false;
    if (!node) {
        node = document.createElement('root');
        root = true;
    }

    for (var x in json) {
        // ignore inherited properties
        if (json.hasOwnProperty(x)) {

            if (x == '#text') { // text
                node.appendChild(document.createTextNode(json[x]));
            } else  if (x == '@attributes') { // attributes
                for (var y in json[x]) {
                    if (json[x].hasOwnProperty(y)) {
                        node.setAttribute(y, json[x][y]);
                    }
                }
            } else if (x == '#comment') { // comment
                // ignore
            } else { // elements
                if (json[x] instanceof Array) { // handle arrays
                    for (var i = 0; i < json[x].length; i++) {
                        node.appendChild(json2Xml(json[x][i], document.createElement(x)));
                    }
                } else {
                    node.appendChild(json2Xml(json[x], document.createElement(x)));
                }
            }
        }
    }

    if (root == true) {
        return this.textToXML(node.innerHTML);
    } else {
        return node;
    }
};
于 2013-04-04T09:18:38.543 回答
-1

所以你只想从 json 转换为 xml?网络上的大量脚本

jsFiddle 使用 obove 库:http: //jsfiddle.net/RCZLF/

var foo = {/* json obj */}
$(function() {
    console.log(json2xml(foo,' '));
});
于 2013-04-04T09:08:28.120 回答