Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为项目的二维数组(网格)定义XML格式_Xml_Actionscript 3_Multidimensional Array_Xmltable_Data Formats - Fatal编程技术网

为项目的二维数组(网格)定义XML格式

为项目的二维数组(网格)定义XML格式,xml,actionscript-3,multidimensional-array,xmltable,data-formats,Xml,Actionscript 3,Multidimensional Array,Xmltable,Data Formats,我需要定义一个XML格式,然后在ActionScript3中读取它,它将存储: 网格中的行数和列数 以像素为单位的水平和垂直间距 网格中每个正方形的大小(以像素为单位) 网格中每个正方形的可选标签 网格中每个正方形的可选超链接 以下是满足我目前需要的东西,展示了四种方形: <?xml version="1.0" encoding="utf-8"?> <grid columns="2" rows="2" horizontalSpacing="10" verticalSpaci

我需要定义一个XML格式,然后在ActionScript3中读取它,它将存储:

  • 网格中的行数和列数
  • 以像素为单位的水平和垂直间距
  • 网格中每个正方形的大小(以像素为单位)
  • 网格中每个正方形的可选标签
  • 网格中每个正方形的可选超链接
以下是满足我目前需要的东西,展示了四种方形:

<?xml version="1.0" encoding="utf-8"?>
<grid columns="2" rows="2" horizontalSpacing="10" verticalSpacing="10" 
      squareWidth="300" squareHeight="300">
    <column>
        <square label="Square(1,1)" url="http://example.com/1/1/" />
        <square label="Square(1,2)" />
    </column>
    <column>
        <square url="http://example.com/2/2/" />
        <square />
    </column>
</grid>

我的问题类似于“在间距和大小上是否应该有单位?(如10px或300px)”和“在每个单元格中使用(
table
td
tr
a
元素)的XHTML子集会有多糟糕。”


但实际上,我在寻找任何先例、想法或最佳实践。特别是因为它们与ActionScript3中处理此类文件相关。目标是能够读取网格属性并定义一个函数,该函数将返回给定行和列的正方形标签和url。(这种格式最简单的一点是,获取一个正方形只需通过整数将其索引到网格节点的子节点中……首先是列,然后是行。)

您不能改用JSON吗?它似乎更适合这种任务

您根本不需要
标记。只要有一大堆
。使用列和行属性定义宽度和高度。

问题在于ActionScript正在读取它,它具有内置的XML功能(默认情况下没有JSON),并且项目已经在使用XML。所以我试着避免引入另一种依赖。虽然我真的觉得我从来没有得到过我想要的形式的反馈,但是时间已经过去了,所以请我考虑关闭这个问题。所以我接受这个答案,因为它提到了JSON,我也建议几乎所有使用XML的人使用JSON。再说一次,如果我有“druthers”,我也建议不要使用Flash这样做意味着代码实际上非常简单(目前在错误处理部门并不多):