福建工程学院 2008 届计算机系
软件工程专业《XML 编程》实验报告
所在专业: 软件工程
指导教师:
学生姓名:
学生学号:
2010 年 12 月 20 日
1
1. 问题描述
题目:学生信息管理系统
2. 设计要求(该实验功能有所加强)
程序完成后应该完成如下基本功能:
1 根据学生相关信息内容定义相关的 XML 文档 , 用于存储学生的相关信息 ;
2 通过 XML DOM 接口实现对 XML 文档内容的修改 :
1) 实现对信息的增加 ;
2) 实现对信息的删除 ;
3) 实现对信息的修改 ;
具体要求 : 语言不限
作业提交时间 : 第十五周
成绩分配 : 此课程设计成绩占期末成绩的百分 30-40 的比例
提交方式 : 提交时需要提交以下内容 (1) 程序开发源代码 (2) 相关内容的实
验报告
学生信息包括 姓名 学号 性别 年龄 专业 英语 数学 政治 对这些信息编写相
应的 XML 文档 使用 DTD 格式
使用各种语言的 DOM 接口 实现对文档内容的操作
3. 系统功能
系统的主要功能包括:
学生信息的插入、删除、修改、查询等功能;
课程信息的插入、删除、修改、查询等功能;
学生选课;
学生成绩查询。
信息操作功能:
学生信息的添加、修改和删除。学生信息包括:学号、姓名、性别、出生日
期、电话、电子邮件、民族、班级号、籍贯
2
课程信息的添加、修改和删除。课程信息包括:课序号、课程名、课程类别、
学分。
.查询功能,通过学生学号,查询出该生的所有信息(基本信息和课程信息),
以及自己的成绩,通过选课功能学生可以自行选课。
4. 实验原理
1、在创建的命名空间 DomXML 的类 MgrSysClass 中创建文档对象模型 MyDoc,
利用其调用 Load()方法加载 XML 文档。
2、查询:首先利用 SelectNodes()方法从获取的 XML 文档中获取要查看信
息的根节点,根据 MyNodeList.Count !=0 判断节点内容是否为空。若节点内容
不为空,则利用 MyNode.ChildNodes[].InnerText 依次查找 XML 文档中的目标节
点,并将其显示。若信息为空,则会提示没有相关信息供查看。
3、插入信息:
XmlElement MyElementRoot = MyDoc.CreateElement("学生");插入根节点
XmlAttribute MyAttribute = MyDoc.CreateAttribute("学号");插入属性元素
XmlElement MyElementName = MyDoc.CreateElement("姓名");插入叶子节点
4、修改相关信息:
XmlNodeList MyNodeList = MyDoc.SelectNodes("//学生");使用这个节点作为
查询的根节点,并且将结果作为 一个 NodeList 返回
XmlNode MyNewNode = MyNode.CloneNode(true); 克隆原来节点 然后进行赋值
操作
MyNode.ParentNode.ReplaceChild(MyNewNode, MyNode);更新节点信息
5. 详细设计及运行结
3
通过选项选择进行相应的操作
(1)、学生的基本信息显示、以及成绩查询、选课。
图 1 程序主界面
图 2 学生信息页面
查询学生信息:显示所有的学生信息
选修课程:用户输入要选择的课程号和学生号进行插入选课信息,如果不存
在此学生、或者不存在此课程或者插入的信息已经存在,则无法插入。如下图:
成绩查询:用户通过选择通过课序号查询、用户号查询方式查看成绩。
(2)、插入新学生
图 3 选课页面
4
(3)、修改用户信息
用户输入要修改的用户的学号,系统显示出用户的信息,个人通过这个信
图 4 添加用户界面
息修改用户信息。
图 5 修改用户信息界面
5
(4)、删除学生信息
图 4 删除用户后图
(5)和(6)选项均为显示内容与上面部分重复,不在重复描述。
(7)成绩录入
用户输入学号和课程号以及成绩,如果没有此学生、没有此课程,或者该
学生没有选修该课程,或者此学生的这门课成绩已经输入过,都会有相应的提示。
图 5 该学生没有选修该课程
6. 程序源码及注释
DTD 格式:
6
]>
<学生管理>
<学生基本信息 学号流水号="5">
<学生 学号="1">
<姓名>杨正勇姓名>
<性别>男性别>
<出生日期>1989-05-16出生日期>
<电话>13088256841电话>
<电子邮件>tonghuaseven@163.com电子邮件>
<民族>汉族民族>
<班级号>软件工程0801班级号>
<籍贯>山东省济南市籍贯>
学生>
<学生 学号="2">
<姓名>蒋艺漠姓名>
<性别>男性别>
<出生日期>1988-05-16出生日期>
7
<电话>15059155425电话>
<电子邮件>tanyilei@163.com电子邮件>
<民族>汉族民族>
<班级号>软件工程0801班级号>
<籍贯>福建漳州籍贯>
学生>
<学生 学号="5">
<姓名>何伟姓名>
<性别>男性别>
<出生日期>1988-04-14出生日期>
<电话>15059155425电话>
<电子邮件>1003618863@qq.com电子邮件>
<民族>汉族民族>
<班级号>软工0801班级号>
<籍贯>四川成都籍贯>
学生>
学生基本信息>
<课程相关>
<课程信息 课序号="1">
<课程名>英语课程名>
<课程性质>必修课课程性质>
<学分>4学分>
课程信息>
<课程信息 课序号="2">
<课程名>数学课程名>
<课程性质>必修课课程性质>
<学分>6学分>
课程信息>
<课程信息 课序号="3">
<课程名>政治课程名>
<课程性质>选修课课程性质>
<学分>2学分>
课程信息>
<考试成绩 考试成绩流水号="7">
<考试>
<课序号>3课序号>
<学号>2学号>
<成绩>85成绩>
考试成绩>
<选课信息 选课信息流水号="7">
考试>
<选课>
<课序号>3课序号>
<学号>2学号>
8