2011-05-23 73 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>