我想为我创建的每个Backbone模型生成一个XML。我知道通过Backbone.sync我们可以将模型转换为xml并将它们保存到服务器。但我只使用本地存储。
答案 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-xml和http://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 + ");");
}