如何将我的Backbone模型转换为XML?

时间:2014-08-17 00:31:20

标签: xml backbone.js model

我想为我创建的每个Backbone模型生成一个XML。我知道通过Backbone.sync我们可以将模型转换为xml并将它们保存到服务器。但我只使用本地存储。

2 个答案:

答案 0 :(得分:0)

这是正常的JSON到xml的转换,骨干对你的情况没什么好处 你可以查看这个图书馆 https://github.com/alanclarke/node-json2xml

它将json对象转换为xml,您只需将其称为传递model.attributes

即可

答案 1 :(得分:0)

请看这里.. http://apigee.com/docs/api-services/content/convert-json-xmlhttp://www.webmasterworld.com/javascript/3540648.htm(从此网站获取代码)

   function OBJtoXML(obj, d) {
d = (d) ? d : 0;
var rString = "\n";
var pad = "";
for (var i = 0; i < d; i++) {
    pad += " ";
}
if (typeof obj === "object") {
    if (obj.constructor.toString().indexOf("Array") !== -1) {
        for (i = 0; i < obj.length; i++) {
            rString += pad + "<item>" + obj[i] + "</item>\n";
        }
        rString = rString.substr(0, rString.length - 1)
    }
    else {
        for (i in obj) {
            var val = OBJtoXML(obj[i], d + 1);
            if (!val)
                return false;
            rString += ((rString === "\n") ? "" : "\n") + pad + "<" + i + ">" + val + ((typeof obj[i] === "object") ? "\n" + pad : "") + "</" + i + ">";
        }
    }
}
else if (typeof obj === "string") {
    rString = obj;
}
else if (obj.toString) {
    rString = obj.toString();
}
else {
    return false;
}
return rString;
}
   function JSONtoXML(json) {
    return eval("OBJtoXML(" + json + ");");
   }