2011-09-20 36 views
0

我有一個設計相關的問題。那麼請指導我如何做到這一點?類設計相關說明c#

現在,我有一個xml結構,它將以這種格式。

<Sheet id="abc"/> 
    <Elements> 
     <Element id="xyz"> 
      <value>23</value> 
     </Element> 
     <Element id="sdz"> 
      <value>46</value> 
     </Element> 
     ... 
    </Elements> 
</Sheet> 

所以,我們有這樣一個類來存儲每個&板的每一個元素。

Sheet 
{ 
    Public string SheetId 
    { 
     get; set; 
    } 

    //all Elements will be stored in the below collection 
    Public IList<IDictionary<string, string>> Elements 
    { 
     get; set; 
    } 
} 

但是,現在對於少數表格格式已被更改爲以下結構。

<abc> //SheetId 
    <Elements> 
     <Record> 
      <Element1/> 
      <Element2/> 
      <Element3/> 
      <Element4/> 
     </Record>  
     <Record> 
      <Element1/> 
      <Element2/> 
      <Element3/> 
      <Element4/> 
     </Record> 
     ... 
</abc> 

所以,我們需要創建一個通用類來保存上面的XML格式,我們不希望有不同的對象來存儲這些。

我的意思是在未來,如果我們有其他的xml格式,我們也需要在sheet類中沒有任何改變的情況下適應。

所以,你能告訴我如何設計表單類。

好的。讓我解釋我的應用程序的工作原理。

其實我們有大約200張(換句話說,措施)。

1)用戶,如果他們想將XML格式上傳(該表數據的XML文件中的所有表)&編輯相同或屏幕(使用XML模板生成的動態畫面)輸入數據,如果他們不想要上傳。

2)然後數據將被存儲在Sheet對象中,並且它將經過很多驗證過程,最後數據將被再次轉換爲xml並存儲在db中。

你可以問你爲什麼要把它作爲XML存儲?原因是我們不想爲這種類型的數據創建200個aspx頁面,這就是爲什麼我們使用xml模板動態生成表單頁面。另外,我們會經常添加,更新或刪除表單。

好的。我想現在你會對這個問題有所瞭解。

爲了更加清楚,我的XML文件中的所有元素都將顯示爲aspx頁面中的一個字段。它可能是一個文本框,下拉& etc ....

+0

在第二個例子中有'Id's或''嗎? –

+0

是的。工作表Id現在是第二個示例中的根元素。 「ABC」。 – GSP

+0

@HenkHolterman:另外,我忘了告訴你一件事,在第二個例子中將是。 – GSP

回答

4

我會建議根據信息實際代表什麼和您的軟件如何計劃利用數據,而不是使用的XML格式設計您的類。

您應該始終能夠從數據格式轉換爲最能代表您的程序如何使用此數據的結構。

+0

嗨裏德,謝謝你的回覆。但問題在於,客戶只會上傳xml文件,而我們需要解析這些文件,並對xml數據進行大量分析。另外,我們在SQL DB中存儲整個xml。 – GSP

+0

@GSP:那麼我會建議您將您的課程設計置於您計劃存儲在數據庫中的信息之外。您可以映射XML - >您的結構,分析它,然後根據需要進行存儲。 –

+0

嗨,裏德,我不清楚你在說什麼?另外,我想告訴你的一件事是,這個網絡應用程序在過去的10年中一直在使用,我不認爲我們的管理人員已經準備好迎接任何重大的設計變更。 – GSP