为了更加清晰的说明上面的代码,我们这里举一个例子,相信读者一目了然:
<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。