使用JavaScript将多维数组保存到XML中 [英] Saving a Multidimensional Array into an XML using JavaScript
问题描述
所以我有一个多维数组,如下所示:
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屋!