使用JavaScript将多维数组保存到XML中 [英] Saving a Multidimensional Array into an XML using JavaScript

查看:249
本文介绍了使用JavaScript将多维数组保存到XML中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我有一个多维数组,如下所示:

So I have a multidimensional array that looks like this:

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文件中.

And i would like to save it into my XML file.

我的XML文件如下所示:

My XML file looks like the following:

<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文件中:

So when i add the array i would like it to be placed within the XML file within the:

<Level><map> ARRAY HERE </map></Level>

谢谢

推荐答案

为此,建议使用JSON.无论如何,如果要继续使用XML,请提供解决方案.

Using JSON is recommended for this. Anyway, giving a solution if you want to proceed with XML.

数组到XML

使用字符串连接构建XML字符串.使用 Crockford的JSON库构建数组字符串.

Build XML string using string concatenation. Use Crockford's JSON library for building the array string.

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/

jsfiddle : http://jsfiddle.net/diode/ZfWjp/

然后将其发送到服务器端进行保存.

Then send it to server side for saving.

XML数组

从服务器加载保存的XML.

Load saved XML from server.

使用jQuery对其进行解析.

Use jQuery to parse it.

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/

jsfiddle : http://jsfiddle.net/kBrCT/1/

注意:如果单个XML文件中有多个地图节点,则必须进行修改.

note : You have to modify this if there are multiple map nodes in single XML file.

这篇关于使用JavaScript将多维数组保存到XML中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆