XML是目前在Web上應用很普遍的一項技術,而在.NET 2.0中,則提供了更為豐富的功能,使得在創建XML應用的時候更加得心應手。在本文中,將簡單以一個例子來說明,.NET 2.0在創建XML應用時的一些新特性。
首先,我們平常在創建Web應用時,都會選擇以數據庫的形式來存貯數據的,但如果要以純XML來存貯數據的話,那的確會是種挑戰。在.NET 1.0/1.1框架中,對XML的支持功能有限,比如對同一應用中的多個XML文件的支持。在.NET 2.0中,這種情況得到了改變,增加了新的功能,比如:
1、Datatable現在可以讀和寫XML數據了
2、使用DatGridView控件,可以讓你在dataset裡,展示來自不同表的數據。
下面我將以一個Web應用的例子來說明這些新的特性。在這個程序中我將所有的數據都存儲在XML文件中。展示了如何同時在dataset裡,讀和寫多個XML文件,以及如何將XML文件綁定到datagridview控件;並且展示了datagridview控件如何從XML文件中讀和寫數據,如何在多個XML文件中尋找數據。這些新功能,都是以往的.net中做不到的。
任務跟蹤應用
接下來,我們將創建一個實現"任務跟蹤"的Web應用程序。這個應用程序其實很簡單,是可以幫助大家跟蹤一些任務和活動的進展情況。它需要創建兩個xml文件:activities.xml和tasks.xml文件。Activites文件存放了日常的活動,包括每次活動需要完成些什麼任務,任務的描述,開始和結束的時間。Tasks文件存放的是任務的類型,比如浏覽email,編寫程序,閱讀書本等。下圖顯示了這兩個文件之間的數據結構。
兩個文件之間的數據結構
通常,可能你會想通過手工來創建這兩個xml文件,但實際上這是不提倡的,因為在vs.ne 2005中,可以通過dataset設計器來幫助你設計xml 文件的結構,允許你創建上圖關系的xml 文件,下面具體來講解下。
1) 打開Visual.net 2005 beta 2,新建一個windows應用程序,選擇vb.net 語言,將這個工程命名為DTKXML,然後添加一個dataset類型的文件,將其命名為dsactivitiesTasks.。然後添加兩個表,activities和tasks 表(見圖1)。只需要在設計器界面上,右鍵點選鼠標,在彈出的菜單上選Add->datatable就可以了。
接著,對著每個表的表名,右鍵點鼠標,在彈出的菜單裡選擇Add->Column,為每個表增加列,其中,每個列的名稱,屬性和數據類型如下表所示:
Activites表
Column Name Property 1 activityid DataType=System.Int32Autoincrement=True
AutoincrementSeed=1
AutoincrementStep=1
Unique=True
2 taskid DataType=System.Int32 3 description DataType=System.String 4 startime DataType=System.DateTime 5 endtime DataType=System.DateTimeTasks表
Column Name Property 1 taskid DataType=System.Int32
Autoincrement=True
AutoincrementSeed=1
AutoincrementStep=1
Unique=True
AllowDBNull=False
2 task DataType=System.StringAllowDBNull=False
接下來,要為這兩個xml文件建立關聯,這是十分簡單的。在activities和task表的設計視圖狀態下,鼠標右鍵點選,在彈出的菜單中選擇"Add Relation",按照下圖所示,設置兩個文件的關聯性。
設置兩個文件的關聯性
2) 這個時候,我們可以設計應用的界面了。應用包括兩個窗體,第一個窗體,允許用戶處理關於活動的有關信息,第二個窗體,可以提供給用戶對各類型的任務進行編輯。
將工程中默認的窗體改名為frmActivities,在工具箱中拖一個datagridview控件到窗體中。接著,注意選擇控件右上角的smart tag標記,這時會出現一個菜單(如下圖所示),選擇dsActivitiesTasks(就是我們剛才創建的dataset類型文件)作為datagridview的數據源。