xml全称可扩展标记语言(extensible marked language),这套语言系统由于在数据处理,跨平台等方面的独特优势,在近几年风靡全球。xml语言系统把任何数据都作为“键”和“值”来进行处理,这一点类似于很多数据库管理系统(dbms),而且它与具体的机器指令无关,其存储方式是纯文本文件,因此具有出色的跨平台性。另外它允许用户创建自己的数据指令系统,在这套指令系统的框架下,用户可以把所有信息转换成易于存取的数据,大大加快了开发的周期和代码的可移植性。
既然xml这么好,那它到底是什么样子的呢?最近笔者因为课题的需要,开发了一个基于.net平台下的menu控件,并且加入了xml特性。制作的步骤如下:
第一步:制作一个.net平台下的menu控件
.net平台下面的自定义控件的工作原理如下:控件对应于一个类(class),控件的所有属性通过类的成员变量来暴露,而控件的方法对应于class的成员函数。在控件被加载的手,系统会调用class的render方法,制作控件的时候,应该重载(override)这个render方法,使得在控件被加载的那 一刻,控件可以自己“绘制”自己,一般来说,在render方法里面要将关于控件界面绘制的那些javascript文件放入到输出流中。
由于这里重要是讲解后面xml的应用,所以这里只是把自定义控件的原来简要说明一下,下面罗列出相关对象,属性,方法。
整个menu控件分为topmenu,submenu,childrenmenu,menuitem四个对象,其相应的信息为:
控件属性:
id:标识控件名字
menubarheight:菜单拦的高度
menubarwidth::菜单拦的宽度
borderwidth::边框宽
autodropdown:true表示自动下拉,false表是单击鼠标下拉
dropdowndelay:下拉时间
menufont:字体
locationx:菜单的x位置
locationy:菜单的y位置
xmlfile:xml文件
xmlstream:xml流
topmenu对象属性:
id:同上
text:顶层菜单的文本
isparent:true表示有下一级菜单,否则为false(false默认)
islink:需要用事件处理用true,否则false(false默认);
bgcolor:背景色
forecolor:前景色
hoveredbackcolor:鼠标放在上面的颜色
topmenufont:字体
linkurl:当isparent为false才有效,表示连接的url
borderwidth:topmenu的边框宽
itemheight:下一级菜单的高度(必须isparent为true才有效)
itemwidth: 下一级菜单的宽度(必须isparent为true才有效)
submenus:含有下一级菜单的数组列表
submenu,childrenmenu 和menuitem的所有属性跟上面topmenu一样,这里就不赘述了。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器