2011-05-23 74 views
16

在XML中,我该如何声明整数数组?数组定义在xml中

我可以宣布其为以下几点:

<numbers type="array"> 
    <value>3</value> 
    <value>2</value> 
    <value>1</value> 
</numbers> 

,但可能有更简单的方法是这样?

<numbers [3,2,1]></numbers> 

回答

15

第二种方法是无效的XML;你的意思是<numbers>[3,2,1]</numbers>

如果是这样,那么第一个是首选,因为您需要获取数组元素是一些XML操作。在第二个中,您首先需要通过XML操作获取<号码元素的值>,然后用其他方法解析[3,2,1]文本。或者如果你真的想要一些紧凑的格式,你可以考虑使用JSON(“本地”支持数组)。但这取决于您的应用程序要求。

+0

是的,我很乐意使用JSON或YAML,但我必须使用XML 。对我来说,看起来有点奇怪,我必须用标签来包装我的数组的每个数字......对于数组数组这样简单的事情来说,这是一个太复杂的语法。 – Nick 2011-05-23 15:27:55

+4

您可以随时将它们包装在更小的东西,如 ,但XML不是它的简洁... – carlosfigueira 2011-05-23 15:32:12

8

不,没有简单的方法。你只能失去type=array

<numbers> 
    <value>3</value> 
    <value>2</value> 
    <value>1</value> 
</numbers> 
+1

我不认为这是一个很好的IDE删除类型属性闻名。如果''只包含一个元素,则不清楚它是一个数组。将type指定为数组时,将更容易告诉xml解析器如何处理对象以防止不一致的解析。 – aross 2014-04-03 19:03:09

1

正如它的名字是“数字”很显然这是数名单...所以数量的数组...没必要属性类型...。虽然我很喜欢指定的原则字段的类型属性的类型...

1

有一次,我已经看到了这样一个有趣的建设:

<Ids xmlns:id="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> 
     <id:int>1787</id:int> 
</Ids>