- 2
- 0
- 约 39页
- 2017-02-05 发布于辽宁
- 举报
基于xmlschema的数据存储方案本科毕业设计
2009 年 3 月 26 日
对于一些小型项目,需要存储的数据字段和数据量可能都比较小,为了降低项目成本,提高项目的独立性,开发人员希望能不依赖数据库进行开发。本文提供了一种替代数据库进行数据存储的解决方案,该方案是应用 XML Schema 技术加以实现,本文会对实现的方法和细节进行详细的讲解。
引言
对于一些小型的项目,需要存储的数据字段和数据量可能都比较小,为了降低项目成本,或提高项目的独立性,开发人员希望能不依赖数据库进行开发。此时,利用 XML Schema 进行数据存储便是一个非常好的解决方案。利用此方法可以直接把数据存储在 xml 文件中,然后把 xml 文件存放在磁盘的某个位置,这样会使得项目的部署与运行非常的方便。
本文会详细的介绍如何基于 xml schema 进行数据的存储,如何以面象对象的方式对 xml 文件进行操作,以提高项目的开发速度和准确度。 文中还提供了一些详细的代码示例来帮助读者了解开发的技术细节。
回页首
Schema 数据存储概述
利用 XML Schema 存储数据的原理就是将数据存储在 schema 所定义的 xml 文档中, 但本文中所讲述的实现方法不会直接面对 xml,而是通过一些类以面象对象的方式实现存取操作,这些类是利用开发工具自动的生成的。本文会以 WID (Websphere Integration Development) 为参考,详细介绍如何构建一个 XML Schema,如何根据 schema 生成 Java 类,以及如何应用这些类进行数据的存取操作。总体来说,应用 schema 进行数据存储大致分为以下几个步骤:
创建一个合适的 schema 文件,来满足数据的存储需求
根据 schema 生成 Java 类,应用这些类以面象对象的方式对 xml 文件进行操作
对 xml 文件的保存。
本文会对上述三个步骤来进行详细的讲解。
回页首
Schema 的构建原则
应用 schema 存储数据首先要创建一个 schema 文件,schema 中要包含所有需要存储的数据字段。那么在创建 schema 的时候要考虑这些字段的组织结构,要使得这些字段的结构更为合理,使得后续的操作更为方便。对数据字段应加以分类,然后针对每类数据创建一个结构化对象,就象在数据库中设计表一样,需要决定把哪些字段放在一个表中。在 schema 中,与数据库表相对应的对象是“ Type ”,每个“ Type ”中封装了一类数据字段。以一个简单的库存管理系统为例,为了实现这个系统,大概有五类数据需要存储:货物类别,每日售货记录,供应商信息,送货信息,退货信息。在设计 schema 的时候,要针对每类数据创建一种 Type,以更加清晰的管理每种数据。
回页首
Schema 的创建方法
Schema 的创建可以有多种方式,既可以用文本工具手工编写, 也可以借助开发工具更快捷的创建。 WID 当中有一个创建 schema 的功能,可以应用它很方便的创建一个 schema 。在 WID 菜单中选择 : new – other,在出现的对话框中,选择 : XML – XML Schema,根据图中所示的步骤可以创建一个 schema 文件。下图所示为一个已经创建完成的 schema 文件,该 schema 中包含了上文提到的库存管理系统的五类数据(本文后续部分会以此 schema 为例进行讲解)。
图 1. schema 编辑器
上图所示为 WID 中的 schema 编辑器,它有左右两个编辑域:Elements 和 Types 。
1. Types 域是用来定义结构化对象的,把一些数据字段封装在其中。在编辑域中点击右键可以选择增加或删除一个 Type 。双击一个已经创建的 Type 会进入到 Type 的编辑器来对 Type 进行编辑。如下图所示:
图 2. type 编辑器
在此编辑器中可以为一个 Type 添加或删除字段,修改字段类型。字段类型可以是基本类型,如 string,date ;也可以是已经定义的其他 Type 类型,如 Category 对象中的 supplier 元素的类型就是一个已定义的 Type 类型。 Type 编辑器提供了一个 Properties 域,可以利用它对字段方便的设置多种属性。
在图 1 所示的 Type 中有一个叫 StorageInfo 的 Type,它与其他五个 Type 有所不同,其他五个 Type 是用来封装数据字段的结构化对象,而 StorageInfo 是用来封装这五个 Type 的,而且 StorageInfo 这个对象是必不可少的。在封装这五个 Type 的时候
您可能关注的文档
- 基于jsp的小型旅游网站设计大学生毕业设计(含源文件)本科毕业设计.doc
- 基于java的学生学籍管理系统大学生毕业设计(含源文件)本科毕业设计.doc
- 基于jsp会议管理系统大学生毕业设计(含源文件)本科毕业设计.doc
- 基于jsp技术--网上购物系统--本科毕业设计.doc
- 基于labview的厨房监测系统测控技术与仪器 (论文)文献综述本科毕业设计.doc
- 基于labview的虚拟数字滤波器设计 本科毕业设计.doc
- 基于labview的电机实验系统的研究和设计 本科毕业设计.doc
- 基于lucene本地搜索程序概要设计 本科毕业设计.doc
- 基于linux的嵌入式lcd驱动程序本科毕业设计.doc
- 基于mastercam的鼠标造型与加工 本科毕业设计.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 2025高中英语教师课程标准考试模拟试卷及参考答案.docx VIP
- 第12课 绿意再生课件-赣美版(2024)初中美术七年级下册.pptx VIP
- 2025年青岛西海岸新区自主招生化学试题及答案.docx VIP
- 2024-2025学年江苏卫生健康职业学院单招《英语》考前冲刺练习(真题汇编)附答案详解.docx VIP
- GJ B 2446-2-2013 J30系列微矩形电连接器详细规范.pdf VIP
- 2025年内蒙古中考物理试卷及答案.docx VIP
- 第11课+传递绿色理念+课件+2024—2025学年赣美版(2024)+初中美术七年级下册.pptx VIP
- 2025年江苏卫生健康职业学院单招《数学》真题带答案详解(模拟题).docx VIP
- 2023年广东省中考道德与法治试卷真题及答案详解.pdf
- 相变的软模理论.ppt VIP
原创力文档

文档评论(0)