javascript - 使用 JavaScript 将多维数组保存到 XML 中

标签 javascript xml json multidimensional-array

所以我有一个看起来像这样的多维数组:

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/

相关文章:

c# - 如何删除 XML 中的节点标记

javascript - Meteor React Form 不会改变值

javascript - Backbone Marionette - 根据传入数据更新 View 对象

JavaScript : What is it about my code that means the second image only displays for a nano-second

javascript - XML 标记中未发生追加

c# - 如何序列化为控制命名空间的 XML?

json - VBA解析json并循环不同的对象

python - 将嵌套的 mongoDB 文档转换为平面 pandas DataFrame(对象数组中的对象数组)

javascript - angular.fromJson(data.Body) 与 JSON.parse(data.Body)

javascript - 如何清除谷歌地图中的现有标记?