0

我使用平铺地图编辑器制作了一个 XML 文件,其中列出的项目如下:

<data>
  <tile gid="1"/>
  <tile gid="2"/>
  <tile gid="2"/>
  <tile gid="1"/>
  <tile gid="1"/>
  <tile gid="3"/>
  <tile gid="3"/>
  <tile gid="1"/>
  <tile gid="2"/>
</data>

假设这是一张 3x3 地图。如何将其解析为数组

[
  [1,2,2],
  [1,1,3],
  [3,1,2],
]

加载它更容易?谢谢!

4

1 回答 1

0

您可以使用 JavaScript 通过这个简单的脚本将其转换为数组:

var xml = '<data><tile gid="1"/><tile gid="2"/> <tile gid="2"/><tile gid="1"/><tile gid="1"/><tile gid="3"/><tile gid="3"/><tile gid="1"/><tile gid="2"/></data>​​​​​​​​​​​​​​​​​​​​​​​​​​​​';

​var data = new DOMParser().parseFromString(xml, "text/xml").documentElement;

var tileNodes = data.querySelectorAll("tile");
var tiles = [];

for (var i = 0; i < tileNodes.length; i++) {
    var point = [];
    point.push(parseInt(tileNodes[i].getAttribute("gid"), 10));
    point.push(parseInt(tileNodes[++i].getAttribute("gid"), 10));
    point.push(parseInt(tileNodes[++i].getAttribute("gid"), 10));
    tiles.push(point);
}
于 2012-06-30T17:15:06.850 回答