2008-08-22 151 views
4

我正在創建一個應用程序,它將存儲XML文件中的項目的分層集合,並且我很想知道用XML存儲集合的行業標準。以下兩種格式中的哪一種是首選? (如果還有另一種選擇,我沒有看到,請告知。)XML集合最佳實踐

選項A

<School> 
    <Student Name="Jack" /> 
    <Student Name="Jill" /> 
    <Class Name="English 101" /> 
    <Class Name="Math 101" /> 
</School> 

選項B

<School> 
    <Students> 
     <Student Name="Jack" /> 
     <Student Name="Jill" /> 
    </Students> 
    <Classes> 
     <Class Name="English 101" /> 
     <Class Name="Math 101" /> 
    </Classes> 
</School> 

回答

4

我不是XML專家,但我發現選項B更具人類可讀性,我認爲它與選項A一樣是機器可讀的。我相信XML被設計爲人類和機器可讀的,所以我會自己選擇選項B.


我剛剛在瑞安法利的帖子後意識到了別的東西。如果Students或Classes部分變得太大並且必須移動到另一個XML文件,那麼複製該節點並使用選項B從該節點創建新的XML文件似乎更容易。

4

絕對 - 選項B.

我不會在XML中混用學生和類,就像我不會在數據庫的同一個表中混合學生和類一樣。

2

選項B,絕對。當有類似項目的邏輯分組時,它應該有一個父項目。這樣,我的解析器將不必遍歷所有500個學生記錄,檢查是否有混合的類記錄。

2

使用選項B的另一個令人信服的理由是錯誤檢查。如果原始文件在XML應用程序之外被修改,或者如果沒有應用XSD架構,則可能出現學生和班級數量不均勻的情況。

至少如果您將學生和班級分組在一起,您將很容易就能夠確定每條記錄是否完​​整,與其他任何記錄無關。