為了更加清晰的說明上面的代碼,我們這裡舉一個例子,相信讀者一目了然:
<menus xmlns='x-schema:Menu.xdr'>
<menu id='menuBar1'>
<topmenu id="xjtu" text="xjtu" isparent="true" linkurl="xjtu"></topmenu>
<submenu id="sina" text="sina" isparent="false" linkurl="sina"></submenu>
<topmenu id="sohu" text="sohu" isparent="false" linkurl="sohu"></topmenu>
</menu></menus>
創建完xml文檔後,就要在程序裡面讀取xml文檔,這裡如果采用微軟的vs.net平台開發的話,建議可以使用XmlTextReader來讀取相關信息,具體細節可以查閱MSDN。
第三步:使用控件
創建完了menu控件,現在就是在.net平台下面來使用它。首先要在vs.net平台下面編譯該控件,如果編譯成功就可以使用它了。使用.net自定義控件和使用一般的ActiveX控件很相似,啟動vs.net平台下面的部件箱(可以直接在ToolBar上右擊鼠標來得到),注意我們制作是不是基於COM組件,而是ASP.net組件,所以從這點上它與COM組件有本質的不同,通過Browse按鈕可以選擇該控件對應的dll文件,將其添加進你的工程。下面你還要在你的程序代碼中加入下面的代碼(其他代碼略)
using 你的名字空間 ; (A)
還應該在behind code加入該控件的聲明 (B)
事實上,無論是A處的代碼還是B處的說明,都可以由VS.NET平台自動生成,如果使用其他平台並且不支持這種代碼的自動添加的話,就可以手動添加。添加完之後,這樣就可以和其他控件來進行使用了。而且在控件類代碼中的所有的公有的成員變量,函數分別對應於控件的屬性和方法。
這裡需要指明的就是控件必須提供兩個屬性,那就是XmlStream和XmlFile,如果用戶已經制作好了控件的XML文件(該文件描述了控件的數據),或者是已經寫好了一個xml代碼的話,可以把代碼和文件分別傳給XmlStream和XmlFile,後台程序(就是dll文件)通過調用一些XML的閱讀器比如XmlTextReader來讀取xml數據,這樣就達到了控件支持xml屬性了,進而也增強了控件的移植性和通用性。
本文主要討論了xml在.net平台下控件制作方面的應用,從上面的例子可以看出,xml在數據的整合,處理方面確實有它獨特的優勢,如果你的項目中涉及到數據處理和跨平台的問題,可以考慮應用XML。