2011-12-22 46 views
0

我需要使用xml以下列格式表示某些數據。在xml中表示嵌套數據的最佳方式

 
root-> col1-item1 -> col2-item1 -> col3-item1 
           -> col3-item2 
           -> col3-item3        
        -> col2-item2 -> col3-item1 
           -> col3-item2        
    -> col1-item2 -> col2-item1 -> col3-item1 

我見過有關這種實現的帖子,但我仍然對實現這一點的最佳方式感到困惑。 以下哪種方式應該用來表示這些數據?還有其他更好的方法嗎?

1方法:

<column1items> 
    <col1-item text="col1-1st item"> 
     <col2-item> col2 - 1 
      <col3-item> col3 - 1</col3-item> 
      <col3-item> col3 - 2</col3-item> 
      <col3-item> col3 - 3</col3-item> 
      <col3-item> col3 - 4</col3-item> 
     </col2-item> 
    </col1-item> 
</column1items> 

第二個方法:

<column1items> 
    <col1-item> 
     <text> col1-1st item </text> 
     <col2-items> 
      <col2-item> 
       <text> col2 - 1 </text> 
       <col3-items> 
        <col3-item> <text> col3 - 1 </text> </col3-item> 
        <col3-item> <text> col3 - 2 </text> </col3-item> 
        <col3-item> <text> col3 - 3 </text> </col3-item> 
        <col3-item> <text> col3 - 4 </text> </col3-item> 
       </col3-items> 
      </col2-item> 
     </col2-items> 
    </col1-item> 
</column1items> 
+1

這裏的問題是:可以將文本有屬性(格式(粗體,斜體,花哨的字體) – Benoit 2011-12-22 13:50:18

+0

@Benoit不,它只是一個普通的文本同樣的解決方案應該是易於閱讀 – Nilesh 2011-12-22 13:54:27

回答

2

給定節點的列數可以通過它如何深度嵌套的推斷。

<report> 
    <col text="col1-item1"> 
    <col text="col2-item1"> 
     <col text="col3-item1"/> 
     <col text="col3-item2"/> 
     <col text="col3-item3"/> 
    </col> 
    <col text="col2-item2"> 
     <col text="col3-item1"/> 
     <col text="col3-item2"/> 
    </col> 
    </col> 
    <col text="col1-item2"> 
    <col text="col2-item1"> 
     <col text="col3-item1"/> 
    </col> 
    </col> 
</report> 
+0

感謝應注意什麼?。。。。我在這種情況下使用屬性或元素?我已經閱讀過幾個帖子,當可讀性更重要時,元素應該是首選。你是否認爲指定文本作爲元素的值會是個好主意? – Nilesh 2011-12-22 16:35:49

+0

正如@Benoit暗示的那樣,決定何時不使用屬性的決定性因素是你是否打算在其中嵌入其他任何東西,最好的命名可能取決於你如何重用格式,以及誰或什麼將實際讀取XML。樹,所以你可能會很高興使用更多的aki n到<節點標籤=「xx」>。元素在訂購和嵌套時給予更多的靈活性;屬性佔用更少的空間並且更明顯地與元素相關聯。 – phatfingers 2011-12-22 17:32:06

+0

一個事後...如果你的元素層次結構是固定的,並且已經有一個用戶熟悉的相關詞彙表,你應該考慮保持相同的結構,但改變每個深度的元素名稱。例如,將產品組織爲部門,類別和行的百貨公司可能會使用相同的結構。因此,如果任何人正在合併文檔或進行手動更改,可能會更簡單一些,因此可能會更簡單一些。 – phatfingers 2011-12-24 16:43:59

相關問題