日文系统下文本文档数据转换的研究
2011-04-12陈宝大
陈宝大,姜 洋
(大连海洋大学职业技术学院,辽宁 大连 116023)
随着科学技术的不断发展进步,日文系统的研发成为新兴产业。我国对于日文软件的开发、应用起步较早,尤其在辽宁省大连地区设有日文软件开发区,对日文软件开发产业起到了推动作用。在日文系统下,数据的交换和储存尤为重要,如何解决数据的破损、丢失和储存问题,成为主要问题。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,具有通用性强,存储方便等特点,在英文系统数据处理方面广泛使用。文章采用EES数据处理软件,接收和整理CD-SEM产生的数据,并实时监测文本文件,并将TXT文档转换成XML文档格式,方便数据交换和储存,已解决数据的破损和丢失问题。
1 总体设计和模块划分
1.1 总体设计
在日文环境下,设计流程见图1。
(1)由生成机制生成原始的数据。
图1 EES流程图
(2)通过FTP机制得到原始数据。
(3)利用Text To XML Engine机制将原始数据转换成XML文档,并传给中间软件。
(4)中间软件将XML文档整理后提交给XML DB或传送给其他应用软件使用。
通过以上程序的运行,实时监测日文Windows系统下目录(Directory),并将此目录下CD-SEM传送来的信息转换成有效的XML文档格式,以便信息存储和传递给其他程序使用。
1.2 模块规划
Text To XML Engine是一个功能比较完备的软件见图2。它的主要功能是把原始的文档数据转换成需要的XML目标文档格式。
其中,TXEngineService是创建、安装Windows服务并调用其他模块来完成功能的主程序模块。CEquipFileCheck模块的主要功能是监测文件路径和文件的有效性。CFileMonitor用来执行监测源数据文件目录,它根据监测结果的不同作出相应反映,并调用相应的XML转换程序进行转换。CXML_PARSER模块负责解析XML文档的配件文件。CDataXML用来生成XML文档,并用来储存CFileMonitor模块监测到的文件名,并将这些内容做成文件列表存储在CDataXML的生成的XML转换列表文件中。CXMLGenerator模块是CDataXML模块的一个封装,使程序简明方便。
2 程序运行检测
按照总体设计要求,完成以下功能测试:①设置当前路径;②创建程序运行窗口;③读取并解析根XML文件;④输入文件解析;⑤临时文件处理;⑥子程序调用;⑦生成文件的存储;⑧删除临时文件夹;⑨启用子线程。
通过程序的运行,结果如下:
(1)将各种信息的txt文件存入一个根XML文件中。这样,当读取并解析根XML文件后,我们的程序就可以根据读取的信息,对不同的文件进行相应处理。然后,对根XML文件的解析,得到不同格式的文件所在的文件夹,并通过WIN32_FIND_DATA结构对文件夹进行搜索,值得注意的是,由于这个程序中输入文件夹下的文件都是在ftp服务器下上传的,我们必须判断一个TXT文件是否上传完毕,并且,应客户的要求,不允许将上传的TXT文件删除,即使转换完毕,也仍需保留原文件,即保留一个同名的end文件来判断一个TXT文件是否传送完毕。
(2)利用WIN32_FIND_DATA结构在每个输入文件夹下搜索,当搜到以.end结尾的文件时,系统应做:①将含有全部路径的同名TXT文件名称写入临时文件夹;②删除原.end文件,以防止在下一次搜索中重新处理。③系统分别读取临时文件夹中不同类型的文件,并根据根xml中ConvertListFile中的内容对临时文件中的TXT文件名进行检测,当发现文件名不合法时,将其纪录在错误信息中,并删除此文件名。当临时文件夹纠错完成后,系统通过WinExec()函数,实现对子程序的调用。子程序负责TXT文档到XML文档的转换,如果转换成功,将转换后的XML文档保存在相应的输出文夹夹中;如果转换失败,原TXT文件将写入ERROR文夹。主线程完成了对文件夹的第一次扫描,得到合法的TXT文件转换成了XML文件并保存在目标文件夹中。此后,利用_beginthread()函数对每个输入文件夹定时监测,完成以下功能:①定时监听;②扫描对应文件夹;③对扫描到的TXT文件的解析;④错误处理;⑤调用相应子程序对TXT文档进行格式转换;⑥将转换后的文件保存到目标文件夹;⑦继续监听。
以上功能完成后,得到一个TXT文件以及转换后的XML文件见图3、图4。
图3 ARAMS类型的TXT文件
图4 转换为XML格式的ARAMS类型的TXT文件
3 结束语
通过ESS软件在日文系统下的运行,达到了实时监测CD-SEM传送来的文本文档转换成有效的XML文档格式的目的,解决了日文环境下数据破损和丢失的问题。