这是一个很有趣的小应用,核心的代码不过70行。

烟酒僧时的课题差点就和船舶打交道了,在{zh1}关头转向另外一个领域。在查阅一些船舶资料时,深深被那些专业词汇所困扰。后来在网上找到一个Excel文件,也就是下面提供的代码包里的“船舶工程英汉词典.xls”,打开后立即感到可以做成一个web检索版。

使用最熟悉的asp,不过两个文件即实现。其中find.asp是检索入口,实际上不承担检索任务,只负责将参数传递给查找页面,基本没有动态代码。核心的检索页面返回的结果是xml文本。下面两句代码很重要,它让asp返回一个utf-8编码的xml文本:

英文关键字采用的前缀匹配,MSSQL使用PATINDEX(在Acess中采用InStr来代替)返回的位置值来判断

中文采用关键字匹配。啥都没输入点击查询可以查到全部词条

在写前端的时候用上数据岛绑定,整个页面非常简洁。但仅有IE支持数据岛绑定,FireFox无法显示出xml文档中的数据。

代码下载:,默认使用Acess数据库,使用MSSQL需要自己导入并修改result.asp文件

说明:
find.asp 检索入口
result.asp 检索程序
船舶工程英汉词典.xls 原始的词典数据来源,相同的英文词条第二条英文缺失,导入到数据库后需要运行update.asp修正
shipDict.mdb 词典数据库
update.asp 词典数据库修正程序,修正英文缺失。修正完毕后可以删掉
dict.xml xml格式的全部词条,仅供参考

有时候完成一些有趣的事,仅需要几十行代码,这大概也是编程的乐趣之一吧。

Related posts: