首页 理论教育 电子白板中保存与打开的实现

电子白板中保存与打开的实现

时间:2023-02-12 理论教育 版权反馈
【摘要】:电子白板Sharp Pen使用XML文件来记录需要保存的对象的属性信息,然后对XML文件进行DOM解析,读取出XML文件记录的对象的属性信息,根据这些属性信息调用GDI+,便可把原先的对象再创建出来。Sharp Pen总共有8张Sheet(画布),保存数据以Sheet为单位,每张Sheet对应一个XML文件,文件中记录着Sheet上所绘制的所有对象的属性信息。至此,保存功能实现。XML解析技术还在不断地完善中,在新的特定领域还涌现出新的解析技术,如XPP解析技术。

10.2.1 DOM解析的实现

电子白板Sharp Pen(曾红伟等,2008年)使用XML文件来记录需要保存的对象的属性信息,然后对XML文件进行DOM解析,读取出XML文件记录的对象的属性信息,根据这些属性信息调用GDI+,便可把原先的对象再创建出来。至此,便实现了保存与打开。Sharp Pen对XML文件进行解析没有采取现成的解析器,如Microsoft公司的MSXML等,而是基于DOM解析的原理加以实现,并对一般DOM解析器的功能加以扩充,不但能对XML文件进行解析,还可以生成XML文件。现在介绍一下Sharp Pen中DOM解析器实现的关键类XMLNode,类的主要方法如下:

在上述类XMLNode的方法中,函数createXML Top Node、addChild、add Attribute、add Text是为了实现XML文件的生成,函数getXML Top Node、getChildNode、get Attribute、get Text是为了实现XML文件的解析。

Sharp Pen总共有8张Sheet(画布),保存数据以Sheet为单位,每张Sheet对应一个XML文件,文件中记录着Sheet上所绘制的所有对象的属性信息。比如,在Sheet 1上绘制一条直线,那么生成的Sheet0.xml文件内容如下:

Sharp Pen将所有的Sheet对应的XML文件打包成后缀名为sws的文件,此sws文件即为Sharp Pen的保存结果。至此,保存功能实现。

10.2.2 解析XML文件实现打开

Sharp Pen载入保存功能中生成的sws文件,利用DOM解析所有的Sheet对应的XML文件进行解析,读取出XML文件中记录的对象属性信息,利用这些属性信息,便可以把这些对象创建出来,并再现于Sheet上。比如,DOM解析对Sheet0.xml进行解析,生成节点树(如图10-3所示),便可以读取出所绘制的直线的属性信息,如x、y、width、height等,然后就可以调用GDI+对直线进行创建,直线便在Sheet 1上呈现出来了。至此,打开功能实现。

图10-3 Sheet0.xml对应的节点树

XML解析技术还在不断地完善中,在新的特定领域还涌现出新的解析技术,如XPP解析技术。XML解析是XML文档处理的关键技术之一,对XML解析的研究是十分有意义的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈