所以我有一个看起来像这样的多维数组:
var map = [[0, 0, 0, 0, 0, 0, 0],
[0, 3, 0, 0, 2, 0, 0],
[0, 0, 0, 0, 4, 0, 4],
[0, 0, 0, 0, 5, 0, 5],
[0, 0, 0, 0, 0, 0, 1],
[0, 0, 2, 5, 0, 0, 0],
[0, 0, 0, 2, 0, 0, 0],
[0, 4, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0]];
我想将它保存到我的 XML 文件中。
我的 XML 文件如下所示:
<TileMaps>
<Level> <!-- Level 1 -->
<map>[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 3, 2, 4, 0, 0, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]</map>
</Level>
<Level> <!-- Level 2 -->
<map>[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 3, 2, 4, 0, 0, 0, 0, 0, 1],
[1, 0, 2, 4, 0, 0, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]</map>
</Level>
</TileMaps>
所以当我添加数组时,我希望它被放置在 XML 文件中:
<Level><map> ARRAY HERE </map></Level>
谢谢
最佳答案
为此建议使用 JSON。无论如何,如果您想继续使用 XML,请提供解决方案。
数组到 XML
使用字符串连接构建 XML 字符串。使用 Crockford's JSON library用于构建数组字符串。
var map = [[0, 0, 0, 0, 0, 0, 0],
[0, 3, 0, 0, 2, 0, 0],
[0, 0, 0, 0, 4, 0, 4],
[0, 0, 0, 0, 5, 0, 5],
[0, 0, 0, 0, 0, 0, 1],
[0, 0, 2, 5, 0, 0, 0],
[0, 0, 0, 2, 0, 0, 0],
[0, 4, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0]];
var xml = '<TileMaps><level><map>';
xml += JSON.stringify(map);
xml += '</map></level></TileMaps>';
alert(xml);
jsfiddle:http://jsfiddle.net/diode/ZfWjp/
然后发送到服务器端保存。
XML 到数组
从服务器加载保存的 XML。
使用 jQuery 来解析它。
var xml = '<TileMaps><level><map>[[0,0,0,0,0,0,0],[0,3,0,0,2,0,0],[0,0,0,0,4,0,4],[0,0,0,0,5,0,5],[0,0,0,0,0,0,1],[0,0,2,5,0,0,0],[0,0,0,2,0,0,0],[0,4,0,0,0,0,0],[0,0,0,0,0,0,0]]</map></level></TileMaps>';
var map = $.parseJSON($(xml).find("map").text());
alert(map[0]);
alert(map[1]);
jsfiddle:http://jsfiddle.net/kBrCT/1/
注意:如果单个 XML 文件中有多个 map 节点,则必须修改此项。
关于javascript - 使用 JavaScript 将多维数组保存到 XML 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861527/