xml实验报告
河南师范大学综合性实验
一、背景描述
本实验实现学生信息管理和学生成绩管理系统,能够完成对各班级学生基本信息和成绩的查询、添加、删除和修改等操作,极大地方便了老师对学生基本信息和成绩的管理。
二、实验目的
(1)掌握XML编程模型;
(2)能够熟练使用某一种编程语言对XML数据进行查询、修改、添加和删除操作。
(3)通过调用XML文档来实现学生管理系统的实现。
三、实验内容
设计并实现基于XML的学生管理系统,要求该程序:
(1)利用XML文档作为存储载体来存储“学生管理系统”和“学生成绩管理系统”的数据;
(2)对步骤(1)建立的XML文档数据进行查询、修改、添加和删除。
(3)完成基于xml文档实验目的的学生管理系统。
四、实验条件
学院提供公共机房,1台/学生微型计算机。
五、实验步骤
1.设计层次
学生信息管理系统
1 查找学生基本信息与成绩。
2添加学生基本信息与成绩。
3 修改学生基本信息与成绩。
4 删除学生基本信息与成绩
2.界面设计
本系统设计共涵盖7个界面:登录界面、注册界面、查询浏览界面、修改界面、删除界面、添加界面。
3.创建xml文件
共创建3个xml文件,登录表.xml、学生基本信息.xml以及学生成绩信息.xml,用于界面信息查询及调用的实现。
4.各界面代码实现
(1)登录界面及代码
Form1.cs
using System;
using System.Collections.Generic;
……
using System.Data.SqlClient;
namespace WindowsApplication1
{public partial class Form1 : Form
{
……
private void button1_Click(object sender, EventArgs e)
{ XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory+"\\登录表.xml"); //将XML读入到内存中
……
S = root.SelectSingleNode("//S[用户名='" + textBox1.Text.Trim() + "']");//查找数据什等于checi 的数据。
StringReader reader = new StringReader(S.OuterXml);//将找到的数据加入到新生成的reader数据流中。
ds.ReadXml(reader);//以XML方式读取到dataset中。
……
private void pictureBox1_Click(object sender, EventArgs e){}
private void button3_Click(object sender, EventArgs e)
{Form3 myf = new Form3();
myf.ShowDialog();}
private void button2_Click(object sender, EventArgs e)
{this.Close();
}
……
(2)注册界面及代码
Form3.cs
using System;
using System.Xml;
……
using System.IO;
namespace WindowsApplication1
{public partial class Form3 : Form
{
……
private void button1_Click(object sender, EventArgs e)
{ if (textBox4.Text.Trim() == "888888")
if (textBox2.Text.Trim() == textBox3.Text.Trim())
{
……
}
else { MessageBox.Show("密码两次输入不一致!", "错误"); }
else { MessageBox.Show("注册码输入错误,您无权注册!", "错误"); }
}private void button2_Click(object sender, EventArgs e)
{ this.Close();
}
}
}
(3)功能界面及代码
Form2.cs
using System;
using System.Collections.Generic;
……
using System.Windows.Forms;
namespace WindowsApplication1
{public partial class Form2 : Form
{
public Form2()
{InitializeComponent();
}private void button1_Click(object sender, EventArgs e)
{Form4 myf = new Form4();
myf.ShowDialog();
}
……
private void label1_Click(object sender, EventArgs e)
{}
}
}
(4)查询浏览界面及代码
Form4.cs
using System;
…………
using System.IO;
namespace WindowsApplication1
{public partial class Form4 : Form
{ public Form4()
{InitializeComponent();
private void button2_Click(object sender, EventArgs e)
{this.Close();
}private void button1_Click(object sender, EventArgs e)
{if (comboBox1.Text.Trim() == "全部")
{DataSet ds = new DataSet();
ds.ReadXml(System.Environment.CurrentDirectory + "\\学生基本信息.xml");
dataGridView1.DataSource = ds.Tables[0];
DataSet da = new DataSet();
da.ReadXml(System.Environment.CurrentDirectory + "\\学生成绩信息.xml");
dataGridView2.DataSource = da.Tables[0];
}
else if (textBox1.Text.Trim() == "")
{XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\学生基本信息.xml"); //将XML读入到内存XmlNode root = doc.DocumentElement;//选择XML的根元素
DataSet ds = new DataSet();
XmlNodeList s;
root = doc.DocumentElement;
s = root.SelectNodes("//S[班级='" + comboBox1.Text.Trim() + "']");//查找数据什等于学号的数据。
for (int i = 0; i < s.Count; i++)
{StringReader reader = new StringReader(s.Item(i).OuterXml);//将找到的数据加入到新生成的reader数据流中。
ds.ReadXml(reader);//以XML方式读取到dataset中。
}
dataGridView1.DataSource = ds.Tables[0];
XmlDocument dob = new XmlDocument();
dob.Load(System.Environment.CurrentDirectory + "\\学生成绩信息.xml"); //将XML读入到内存中 XmlNode root1 = doc.DocumentElement;//选择XML的根元素
DataSet da = new DataSet();
XmlNodeList b;
root1 = dob.DocumentElement;
b = root1.SelectNodes("//S[班级='" + comboBox1.Text.Trim() + "']");//查找数据什等于学号的数据。
for (int i = 0; i < b.Count; i++)
{StringReader reader = new StringReader(b.Item(i).OuterXml);//将找到的数据加入到新生成的reader数据流中。
da.ReadXml(reader);//以XML方式读取到dataset中。
}dataGridView2.DataSource = da.Tables[0]; }
else {
XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\学生基本信息.xml"); //将XML读入到内存中 XmlNode root = doc.DocumentElement;//选择XML的根元素
DataSet ds = new DataSet();
XmlNode z;
root = doc.DocumentElement;
z = root.SelectSingleNode("//S[班级="+"'" + comboBox1.Text.Trim()+"'"+"and" +" 学号="+"'" +textBox1 .Text .Trim () +"'"+"]");//查找数据什等于学号的数据。
StringReader reader = new StringReader(z.OuterXml);
ds.ReadXml(reader);
dataGridView1.DataSource = ds.Tables[0];
XmlDocument dob = new XmlDocument();
dob.Load(System.Environment.CurrentDirectory + "\\学生成绩信息.xml"); //将XML读入到内存中 XmlNode root1 = doc.DocumentElement;//选择XML的根元素
DataSet da = new DataSet();
XmlNode s;
root1 = dob.DocumentElement;
s = root1.SelectSingleNode("//S[班级=" + "'" + comboBox1.Text.Trim() + "'" + "and" + " 学号=" + "'" + textBox1.Text.Trim() + "'" + "]");//查找数据什等于学号的数据。
StringReader reader1 = new StringReader(s.OuterXml);
da.ReadXml(reader1);
dataGridView2.DataSource = da.Tables[0];}
(5)添加界面及代码
Form5.cs
using System;
…………
using System.IO;
namespace WindowsApplication1
{ public partial class Form5 : Form
{public Form5()
{InitializeComponent();
}private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {}
private void button2_Click(object sender, EventArgs e)
{this.Close();
}private void button1_Click(object sender, EventArgs e)
{XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\学§生Θ?基ù本?信?息¢.xml"); XmlNode root = doc.SelectSingleNode("NewDataSet");
XmlElement xe1 = doc.CreateElement("S");
XmlElement xesub1 = doc.CreateElement("学§号?");
xesub1.InnerText = textBox2.Text.Trim();
xe1.AppendChild(xesub1);
XmlElement xesub3 = doc.CreateElement("姓?名?");
xesub3.InnerText = textBox1.Text.Trim();
xe1.AppendChild(xesub3);
XmlElement xesub4 = doc.CreateElement("性?别纄");
xesub4.InnerText =comboBox2 . Text.Trim();
xe1.AppendChild(xesub4);
XmlElement xesub5 = doc.CreateElement("年ê龄?");
xesub5.InnerText = textBox3. Text.Trim();
xe1.AppendChild(xesub5);
XmlElement xesub6 = doc.CreateElement("地?址·");
xesub6.InnerText = textBox4.Text.Trim();
xe1.AppendChild(xesub6);
XmlElement xesub2 = doc.CreateElement("班悒?级?");
xesub2.InnerText = comboBox1.Text.Trim();
xe1.AppendChild(xesub2);
root.AppendChild(xe1);//添 ?加ó到?节ú点?中D
doc.Save(System.Environment.CurrentDirectory + "\\学§生Θ?基ù本?信?息¢.xml"); XmlDocument dob = new XmlDocument();
dob.Load(System.Environment.CurrentDirectory + "\\学§生Θ?成é绩¨信?息¢.xml"); XmlNode root1 = dob.SelectSingleNode("NewDataSet");
XmlElement xe2 = dob.CreateElement("S");
XmlElement xesu7 = dob.CreateElement("学§号?");
xesu7.InnerText = textBox2.Text.Trim();
xe2.AppendChild(xesu7);
XmlElement xesu6 = dob.CreateElement("班悒?级?");
xesu6.InnerText = comboBox1.Text.Trim();
xe2.AppendChild(xesu6);
XmlElement xesu8 = dob.CreateElement("姓?名?");
xesu8.InnerText = textBox1.Text.Trim();
xe2.AppendChild(xesu8);
XmlElement xesub7 = dob.CreateElement("高?数簓");
xesub7.InnerText = textBox5.Text.Trim();
xe2.AppendChild(xesub7);
XmlElement xesub8 = dob.CreateElement("计?算?机ú");
xesub8.InnerText = textBox6.Text.Trim();
xe2.AppendChild(xesub8);
XmlElement xesub9 = dob.CreateElement("操ù作痢?系μ统?");
xesub9.InnerText = textBox7.Text.Trim();
xe2.AppendChild(xesub9);
XmlElement xesu1 = dob.CreateElement("xml");
xesu1.InnerText = textBox8.Text.Trim();
xe2.AppendChild(xesu1);
root1.AppendChild(xe2);//添 ?加ó到?节ú点?中D
dob.Save(System.Environment.CurrentDirectory + "\\学§生Θ?成é绩¨信?息¢.xml");
MessageBox.Show("添 ?加ó新?学§生Θ?成é功|!?", "恭§喜2");
}private void Form5_Load(object sender, EventArgs e)
{}
private void comboBox1_TextChanged(object sender, EventArgs e){
XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\学§生Θ?基ù本?信?息¢.xml"); //将?XML读á入?到?内ú存?中D
XmlNode root = doc.DocumentElement;//选?择?XML的?根ù元a素?
DataSet ds = new DataSet();
XmlNodeList s;
root = doc.DocumentElement;
s = root.SelectNodes("//S[contains(班悒?级?,'" + comboBox1.Text.Trim() + "')]");//查é找ò数簓据Y 什?等台?于 ?学§号? 的?数簓据Y。£
for (int i = 0; i < s.Count; i++)
{
StringReader reader = new StringReader(s.Item(i).OuterXml);//将?找ò到?的?数簓据Y加ó入?到?新?生Θ?成é的?reader数簓据Y流ⅰ?中D。£
ds.ReadXml(reader);//以?XML方?式?读á取?到?dataset中D。£
}dataGridView1.DataSource = ds.Tables[0];}
private void comboBox1_TextChanged_1(object sender, EventArgs e)
{XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory +"\\学§生Θ?基ù本?信?息¢.xml"); //将?XML读á入?到?内ú存?中D
XmlNode root = doc.DocumentElement;//选?择?XML的?根ù元a素?
DataSet ds = new DataSet();
XmlNodeList s;
root = doc.DocumentElement;
s = root.SelectNodes("//S[contains(班悒?级?,'" + comboBox1.Text.Trim() + "')]");//查é找ò数簓据Y 什?等台?于 ?学§号? 的?数簓据Y。£
for (int i = 0; i < s.Count; i++)
{StringReader reader = new StringReader(s.Item(i).OuterXml);//将?找ò到?的?数簓据Y加ó入?到?新?生Θ?成é的?reader数簓据Y流ⅰ?中D。£
ds.ReadXml(reader);//以?XML方?式?读á取?到?dataset中D。£
}dataGridView1.DataSource = ds.Tables[0];
}
}
}
(6)删除界面及代码
Form7.cs
using System;
using System.Collections.Generic;
……
using System.IO;
namespace WindowsApplication1
{
public partial class Form7 : Form
{
……
private void button1_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\学生基本信息.xml"); //将XML读入到内存中
……
doc1.Save(System.Environment.CurrentDirectory + "\\学生成绩信息.xml");
MessageBox.Show("已成功删除此信息!", "恭喜");
}
……
}
}
using System;
using System.Collections.Generic;
……
using System.IO;
namespace WindowsApplication1
{
public partial class Form7 : Form
{
public Form7()
{
InitializeComponent();
}
……
private void label1_Click(object sender, EventArgs e)
{
}
}
}
(7)修改界面及代码
Form8.cs
using System;
…………
using System.Xml;
using System.IO;
namespace WindowsApplication1
{public partial class Form8 : Form
{public Form8()
{InitializeComponent();
}
private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e) {}
private void button3_Click(object sender, EventArgs e)
{this.Close();}private void button1_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\学§生Θ?基ù本?信?息¢.xml"); //将?XML读á入?到?内ú存?中D
XmlNode root = doc.DocumentElement;//选?择?XML的?根ù元a素?
DataSet ds = new DataSet();
try
{XmlNode z;
root = doc.DocumentElement;
z = root.SelectSingleNode("//S[学§号?='" + textBox1.Text.Trim() + "']");//查é找ò数簓据Y什?等台?于 ?学§号? 的?数簓据Y。£
StringReader reader = new StringReader(z.OuterXml);//将?找ò到?的?数簓据Y加ó入?到?新?生Θ?成é的?reader数簓据Y流ⅰ?中D。£
ds.ReadXml(reader);//以?XML方?式?读á取?到?dataset中D。£
textBox2.Text = ds.Tables[0].Rows[0]["学§号?"].ToString().Trim();
textBox3.Text = ds.Tables[0].Rows[0]["姓?名?"].ToString().Trim();
textBox4.Text = ds.Tables[0].Rows[0]["性?别纄"].ToString().Trim();
textBox5.Text = ds.Tables[0].Rows[0]["年ê龄?"].ToString().Trim();
textBox6 . Text = ds.Tables[0].Rows[0]["地?址·"].ToString().Trim();
comboBox1.Text = ds.Tables[0].Rows[0]["班悒?级?"].ToString().Trim();
XmlDocument doc1 = new XmlDocument();
doc1.Load(System.Environment.CurrentDirectory + "\\学§生Θ?成é绩¨信?息¢.xml"); //将?XML 读á入?到?内ú存?中D
XmlNode root1 = doc1.DocumentElement;//选?择?XML的?根ù元a素?
DataSet ds1 = new DataSet();
XmlNode z1;
root1 = doc1.DocumentElement;
z1 = root1.SelectSingleNode("//S[学§号?='" + textBox1.Text.Trim() + "']");//查é找ò数簓据Y 什?等台?于 ?学§号? 的?数簓据Y。£
StringReader reader1 = new StringReader(z1.OuterXml);//将?找ò到?的?数簓据Y加ó入?到?新?生Θ?成é的?reader数簓据Y流ⅰ?中D。£
ds1.ReadXml(reader1);//以?XML方?式?读á取?到?dataset中D。£
textBox8.Text = ds1.Tables[0].Rows[0]["高?数簓"].ToString().Trim();
textBox9.Text = ds1.Tables[0].Rows[0]["计?算?机ú"].ToString().Trim();
textBox10.Text = ds1.Tables[0].Rows[0]["操ù作痢?系μ统?"].ToString().Trim();
textBox11.Text = ds1.Tables[0].Rows[0]["xml"].ToString().Trim();
}catch (Exception e1)
{MessageBox.Show("No matching node exists" + e1.ToString(), "Navigation Error",
MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
private void button2_Click(object sender, EventArgs e)
{XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\学§生Θ?基ù本?信?息¢.xml");
XmlNode root = doc.SelectSingleNode("NewDataSet");//查é找ò
XmlNode book = root.SelectSingleNode("//S[学§号?='" + textBox1.Text.Trim() + "']");
book.ChildNodes[0].InnerText = textBox2.Text.Trim();
book.ChildNodes[1].InnerText = textBox3.Text.Trim();
book.ChildNodes[2].InnerText = textBox4.Text.Trim();
book.ChildNodes[3].InnerText = textBox5.Text.Trim();
book.ChildNodes[4].InnerText = textBox6.Text.Trim();
doc.Save(System.Environment.CurrentDirectory + "\\学§生Θ?基ù本?信?息¢.xml");
XmlDocument doc1 = new XmlDocument();
doc1.Load(System.Environment.CurrentDirectory + "\\学§生Θ?成é绩¨信?息¢.xml");
XmlNode root1 = doc1.SelectSingleNode("NewDataSet");//查é找ò
XmlNode book1 = root1.SelectSingleNode("//S[学§号?='" + textBox1.Text.Trim() + "']");
book1.ChildNodes[3].InnerText = textBox8.Text.Trim();
book1.ChildNodes[4].InnerText = textBox9.Text.Trim();
book1.ChildNodes[5].InnerText = textBox10.Text.Trim();
book1.ChildNodes[6].InnerText = textBox11.Text.Trim();
doc1.Save(System.Environment.CurrentDirectory + "\\学§生Θ?成é绩¨信?息¢.xml");
MessageBox.Show("已?成é功|修T改?!?", "提 ?示?");
}
教师签名:
日期:年月日
vf课程设计实验报告模板
vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -
、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾
单片机电子时钟课程设计实验报告
单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】
《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)
题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。
XML实验报告
计算机系 实验报告 实验课程:XML 实验班级:网工(2)班学生姓名: 学生学号: 实验成绩:
一、实验目的 综合验证以下课程主要知识点: 1.XML语法 熟悉XML语法规范、能够编写形式良好的XML文档; 2.DTD和xml Schema文档约束 熟练使用DTD和XML Schema定义基本的XML元素、属性、限定等方面的模式约束。 3.SAX解析、DOM解析以及JAXP 了解SAX和DOM解析原理,能够使用JAXP接口完成对XML文档的解析和转换。 4.XSLT和XPath 能够使用XSLT和XPath完成从XML文档到HTML格式的转换。 二、实验内容 1.编写XML文档约束 根据下图中显示的信息,编写一个DTD文档,其内容要求能够包含图中所有的信息点。 2.编写一个XML文档,使其在DTD约束下是有效的 假设上一步编写的DTD文档文件名为:books.dtd,编译一个XML文档使其在books.dtd 文件的约束下成为一个有效的XML文档。然后,使用xmllint程序对你编写的XML文档进行有效性验证,具体如果使用,请参看“《XML》课程教案”中的相关内容。 3.使用JAXP接口,对上一步完成的XML文档进行解析 假设上一步编写的XML文档名为books.xml。
1)使用SAX方式解析 从XML文档books.xml中获得“书名”、“书号”、“作者”、“出版社”、“出版日期”这5个记录项的信息,并将其格式化输出到一个文件books.txt中。 books.txt中的信息格式如下所示: 书名书号作者出版社出版日期 -------------------------------------------------------------------- name 1234 Tom 清华2011 2)使用DOM方式解析 从XML文档books.xml中获取“书名”、“书号”、“作者”、“出版社”、“出版日期”,并将它们封装到一个javabean类中,然后利用该类中的数据,通过DOM构造一棵DOM文档树,并将其序列化到一个XML文件中simplebooks.xml。 4.编写一个XSLT转换文档,转换到HTML 对于上一步通过DOM序列化出来的simplebooks.xml,编写一个XSLT文档books.xslt,将simplebooks.xml转换成为一个HTML格式表格形式呈现。该HTML通过浏览器呈现出来 使用JAXP的XSL转换工厂,获得simpleboosk.xml通过books.xslt转换出来的HTML文件simplebooks.html。 三、实验步骤 1.编写XML文档约束
设计性实验报告格式
大学物理设计性实验报告 实验项目名称:万用表设计与组装实验仪 姓名:李双阳学号:131409138 专业:数学与应用数学班级:1314091 指导教师:_王朝勇王新练 上课时间:2010 年12 月 6 日
一、实验设计方案 实验名称:万能表的设计与组装试验仪 实验时间:2010年12月6日 小组合作: 是 小组成员:孙超群 1. 实验目的:掌握数字万用表的工作原理、组成和特性。 2. 掌握数字万用表的校准和使用。 3. 掌握多量程数字万用表分压、分流电路计算和连接;学会设计制作、使用多量程数字万用表 2、实验地点及仪器、设备和材料: 万用表设计与组装实验仪、标准数字万用表。 3、实验思路(实验原理、数据处理方法及实验步骤等): 1. 直流电压测量电路 在数字电压表头前面加一级分压电路(分压电阻),可以扩展直流电压测量的量程。 数字万用表的直流电压档分压电路如图一所示,它能在不降低输入阻抗的情况下,达到准确的分压效果。 例如:其中200 V 档的分压比为: 001.010*********==+++++M K R R R R R R R 其余各档的分压比分别为: 档位 200mV 2V 20V 200V 2000V 分压比 1 0.1 0.01 0.001 0.0001 图一 实用分压器电路 实际设计时是根据各档的分压比和总电阻来确定各分压电阻的,如先确定 M R R R R R R 1054321=++++=总 再计算200V 档的电阻:K R R R 10001.021==+总,依次可计算出3R 、4R 、5R 等各档的分压电阻值。换量程时,多刀量程转换开关可以根据档位调整小数点的位置,使用者可方便地直读出测量结果。 尽管上述最高量程档的理论量程是2000V ,但通常的数字万用表出于耐压和安全考虑,规定最高电压量限为1000V 或750V 。
设计性实验报告
计算机与信息工程学院设计性实验报告 一、 实验目的 1.掌握线性时不变系统的两种描述形式—传递函数描述法、零极点增益描述法。 2.掌握两种描述形式之间的转换。 3.掌握连续和离散系统频率响应的求解 二、 实验仪器或设备 装MATLAB 软件的计算机一台。 三、 实验内容 1. 生成20个点的单位脉冲信号、单位阶跃信号,并记录下函数命令和波形。 2. 生成占空比为30%的矩形波。 3. 将连续系统 4)(s )21)(s (s 3) 1)(s -(s 0.5H(s)++++=转化为传递函数模型的描述形式。 4. 将离散系统 4-3-2-1--2 -10.5z 0.9z -1.3z 1.6z -12z 5z 3H(z)++++=转化为传递函数和零极点增益模型的的描述形式。
四、实验步骤(包括主要步骤、代码分析等) 1. 生成20个点的单位脉冲信号、单位阶跃信号,并记录下函数命令和波 形。 程序: clear,clc,close %清除变量空间变量,清除命令窗口命令,关闭图形窗口 t=-10:9; %取20个点 ft1=(t==0); %单位脉冲信号函数 ft2=(t>=0); %单位阶跃信号函数 subplot(1,2,1),stem(t,ft1,'m-o') %图像窗口1行2列的第1个子图绘制单位脉冲信号图形 title('20个点的单位脉冲信号'); %设置标题为“20个点的单位脉冲信号” subplot(1,2,2),stem(t,ft2) %图像窗口1行2列的第2个子图绘制单位阶跃信号图形 title('20个点的单位阶跃信号'); %设置标题为“20个点的单位阶跃信号” 2. 生成占空比为30%的矩形波。 程序: clear,clc,close %清除变量空间变量,清除命令窗口命令 x=0:0.001:0.6; %设置变量x的值范围 y=square(2*pi*10*x,30); %用square函数得到占空比为30%的矩形波 plot(x,y,'m'); %绘制矩形波的图像
【实验报告】大学物理实验课程设计实验报告
大学物理实验课程设计实验报告北方民族大学 大学物理实验(设计性实验) 实验报告 指导老师:王建明 姓名:张国生 学号:XX0233 学院:信息与计算科学学院 班级:05信计2班 重力加速度的测定 一、实验任务 精确测定银川地区的重力加速度 二、实验要求 测量结果的相对不确定度不超过5% 三、物理模型的建立及比较 初步确定有以下六种模型方案: 方法一、用打点计时器测量
所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等. 利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒×两点间隔数.由公式h=gt2/2得g=2h/t2,将所测代入即可求得g. 方法二、用滴水法测重力加速度 调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取 50―100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2. 方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下: 取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知: ncosα-mg=0(1) nsinα=mω2x(2) 两式相比得tgα=ω2x/g,又tgα=dy/dx,∴dy=ω2xdx/g, ∴y/x=ω2x/2g.∴g=ω2x2/2y. .将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g.
南邮课程设计实验报告
课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日
一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。
CSS页面布局及样式设计实验报告
实验项目名称: CSS页面布局及样式设计 (所属课程:web系统与技术) 学院:计算机学院专业班级:11级计科信息姓名:学号: 实验日期:实验地点:A06-404 合作者:指导教师:李 本实验项目成绩:教师签字:日期: 一、实验目的 (1)掌握CSS中的定位属性使用方法。 (2)掌握DIV+CSS的页面布局方式。 (3)掌握CSS中的常用属性的使用方法。 (4)理解CSS的样式构造。 二、实验条件 安装Web开发环境的微机。 三、实验内容 (1)重新对聊天室的注册页面、登陆页面和聊天页面进行页面布局。 (1)对聊天室的注册页面、登陆页面和聊天页面进行样式设计。 四、实验步骤 (1)注册页面使用CSS将注册表单居中显示,表单内嵌入表格将文本与输入域格式化显示,表单内使用label标签。 (2)登录页面中添加div层用于显示在线用户数。 (3)登录页面使用div将登录表单,在线用户数,logo图片,超链接等页面元素重新定位布局。 (4)聊天页面改用div标签并使用CSS的position定位属性进行布局,框架内的独立页面使用float属性进行布局。 (5)使用CSS设置三个页面的背景颜色或背景图片。 (6)注册页面使用CSS设计所有输入框和提交按钮的样式。 (7)登录页面使用CSS设置的超链接的字体和下划线、登录表单使用圆顶角、在线用户数使用图片数字,使用CSS设计登录按钮的显示样式。
(8)聊天页面中使用CSS设计信息发送表单和发送按钮的样式,设计用户信息列表和聊天信息段落的的显示样式。 五、实验结果 注册界面效果图及代码: