xml实验报告 XML编程实验_第1页
xml实验报告 XML编程实验_第2页
xml实验报告 XML编程实验_第3页
xml实验报告 XML编程实验_第4页
xml实验报告 XML编程实验_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录第一章 实验课程基本信息2第二章 如何编写格式良好的XML文档22.1实验目的22.2实验要求22.3实验过程32.3.1分析过程32.3.2XML文档编写过程32.4注意事项4第三章 编写DTD和有效的XML实例文档53.1实验目的53.2实验要求53.3实验过程53.3.1分析过程53.3.2DTD文档的编写过程63.4注意事项10第四章 编写Schema和有效的XML文档104.1实验目的104.2实验要求104.3实验过程114.3.1分析过程114.3.2Schema的编写方式114.4注意事项13第五章 XML文档的转换135.1实验目的135.2实验要求135.3实验过程14

2、5.3.1分析过程145.3.2XHTML实验编写基本过程145.4注意事项18第六章 DOM编程186.1实验目的186.2实验要求186.3实验过程186.3.1分析过程186.3.2DOM编写的基本过程196.4注意事项22XML编程实验摘要XML自推出以来,尤其是在1998年2月成为W3C推荐标准以来,受到了广泛的支持。各大软件厂商如IBM、Microsoft、Oracle、Sun等都积极支持并参与XML的研究和产品化工作,先后推出了支持XML的产品或者将改造原有的产品以支持XML,W3C也一直致力于完善XML的整个理论体系。XML虽然获得了极大的支持,但是它还有很长的路要走。首先,X

3、ML的规则只是迈出了第一步,还有许多技术细节没有解决。其次,现在虽然出现了一些XML工具和应用,但是其市场反应还有待进一步观察。另外如何让更多的人迅速学会使用XML,并利用它进行开发,进而促进XML的应用也是一个问题。因此XML的出现和迅猛发展并不意味着HTML即将退出互联网舞台,由于HTML的易学易用和非常多的工具支持,HTML将在较长的时间里继续在Web舞台上充当主角。但是如果用户想超越HTML的范围,XML将是最佳的选择。无论如何,XML的出现使互联网跨入了一个新的阶段,它将成为因特网领域中一个重要的开发平台。XML的诞生已经而且将继续促使全新种类的应用程序的产生,而这些新的应用程序又将

4、需要新的软件和硬件工具。可以预测,无论是在软件还是硬件上,XML都将开辟一系列的新市场,促成互联网上新的革命。关键词:XML语言 ;W3C标准 ;HTML第一章 实验课程基本信息本门课程为信息管理与信息系统专业专业限选课,中文名称为XML语言,课程英文名称为eXtensible Markup Language,先修课程为面向对象程序设计,其中课程学时为48学时,理论学时为16学时,实验学时为32学时。本实验课程依附理论课程,XML语言课程要求培养学生实践能力,实验课程强化学生对课堂内容的理解,培养学生对XML语言的实际设计能力。本课程作为专业方向课程,除了学习XML语言的理论知识外,还必须加强

5、学生实践动手能力;通过本课程实验,加深对XML语言的认识,理解并掌握XML文档编写与应用编程的基本方法;通过实验,提高分析问题和解决问题的能力。第二章 如何编写格式良好的XML文档2.1实验目的熟练掌握XML声明、标记、 标记的文本数据、属性、注释、名称空间等编写语法。能够编写基本的XML文档,了解XML的基本用途,在实验的过程中需要什么是XML、以及XML与HTML之间的差异。2.2实验要求要求:格式良好,包含XML声明、合理的元素嵌套结构、属性、注释、名称空间。能合理体现下列数据的语义。 学生信息:学号(声明为id类型属性),姓名,性别,出生日期 课程信息:课程编号(声明为id类型属性),

6、课程名,学分,课程说明 成绩信息:成绩(考虑补考及重修)实例文档:多个学生、多门课程的成绩(不少于3个学生2门课程)2.3实验过程2.3.1分析过程根据题目要求编写格式良好的XML文档,包括合理的嵌套结构、属性、注释、名称空间。我们在编写XML文档的时候需要注意很多问题。例如以下几点: XML 文档必须有根元素(XML 文档必须有一个元素是所有其他元素的父元素,该元素称为根元素。) . XML 的属性值须加引号GeorgeJohn XML 必须正确地嵌套This text is bold and italic2.3.2XML文档编写过程在准备和来解了XML文档的基本语法格式和书写方法过后我们根

7、据实验要求可以写出符合要求的XML文档,代码如下:JackMale1993-01-01JaneFemale1993-01-05LcccMale1993-05-01Maths6This is a mandatory subjectEnglish5This is a mandatory subject72714559727172712.4注意事项1.在编写简单的的XML文档中,应注意每个起始标签必须有一个结束标签与之对应。2.元素名和属性名必须符合XML的命名规则,元素可以嵌套但不能重叠。3.每一个格式良好的XML文档,只有一个根元素。4.一个元素不能有两个同名的属性。5.应该注意一个格式良好的X

8、ML文档需要有准确的注释,方便读者理解。第三章 编写DTD和有效的XML实例文档3.1实验目的理解编写有效的XML文件;掌握如何检查XML文件的有效性;熟练掌握DTD的基本语法。文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。通过此次实验我们可以熟悉编写DTD文档和相关的XML文档,锻炼自己的文档编写能力。3.2实验要求要求:能合理体现下列数据的语义学生信息: 学号(声明为id类型属性),姓名,性别,出生日期课程信息: 课程编号(声明为id类型属性),课程名,学分,课程说明成绩信息:

9、成绩(考虑补考及重修)实例文档:多个学生、多门课程的成绩(不少于8个学生3门课程)3.3实验过程3.3.1分析过程要想实习DTD文档的编写,就需要了解DTD文档编写的基本方法和语法,在这个基础上我们可以更加熟悉DTD。通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。您还可以使用 DTD 来验证您自身的数据。 内部的 DOCTYPE 声明实例代码文档如下:!DOCTYPE note GeorgeJohnReminderDont forge

10、t the meeting!以上 DTD 解释如下:!DOCTYPE note (第二行)定义此文档是 note 类型的文档。!ELEMENT note (第三行)定义 note 元素有四个元素:to、from、heading,、body!ELEMENT to (第四行)定义 to 元素为 #PCDATA 类型!ELEMENT from (第五行)定义 from 元素为 #PCDATA 类型!ELEMENT heading (第六行)定义 heading 元素为 #PCDATA 类型!ELEMENT body (第七行)定义 body 元素为 #PCDATA 类型 外部文档声明GeorgeJo

11、hnReminderDont forget the meeting!这是包含 DTD 的 note.dtd 文件:3.3.2DTD文档的编写过程此次实验我们主要采用内部DTD文档的编写方式,实验代码如下:!DOCTYPE test_info JackMale1993-01-01JaneFemale1993-01-05LcccMale1993-05-01MikeMale1994-01-01SoloMale1995-01-01XiubMale1993-07-01MaziMale1993-05-05KengMale1993-08-01Maths6This is a mandatory subject

12、English5This is a mandatory subjectComputer2This is a elective subject7271874559727187727187456071877271877271874555597287727187实验运行结果展示:实验运行成功!3.4注意事项1.注意元素类型和属性类型之间的区别。2.弄清XML文档构建的基本模块,基本上包含元素、实体、属性、PCDATA、CDATA。第四章 编写Schema和有效的XML文档4.1实验目的通过前面学习的XML文档和DTD的书写我们可以了解到XML的基本结构,下一步就需要了解Schema和DTD的基本区别

13、。XML Schema 用于定义 XML 文档的合法元素,类似 DTD。我们认为 XML Schema 很快会将 DTD 取而代之,被用在大部分的网络应用程序中。XML Schema 是基于 XML 的 DTD 替代物。与 DTD 不同,XML Schema 支持数据类型和命名空间。4.2实验要求要求:1、使用全局有名类型 2、使用“目标名称空间” 3、能合理体现下列数据的语义学生信息: 学号(声明为id类型属性),姓名,性别,出生日期课程信息: 课程编号(声明为id类型属性),课程名,学分,课程说明成绩信息: 成绩(考虑补考及重修)实例文档:多个学生、多门课程的成绩(不少于8个学生3门课程)

14、4.3实验过程4.3.1分析过程在开始我们实验的过程的时候我们就需要了解什么是Schema?XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。XML Schema 是 DTD 的继任者。XML Schema: 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义子元素的数目 定义元素是否为空,或者是否可包含文本 定义元素和属性的数据类型 定义元素和属性的默认值以及固定值4.3.2Schema的编写方式实验过程的基本代码如下:实验运行成功结果如下:实例文档略4.4注意事项1.需要弄清楚DTD和Schema的基本区别才能熟悉S

15、chema的语法。2.弄清楚restriction派生和extension派生的基本区别,在定义男女性别的时候起到重要作用。3.对命名空间的理解。第五章 XML文档的转换5.1实验目的理解XSLT变换的基本步骤,掌握XSLT样式表中的模板,与模板匹配,模板应用,熟练掌握常用的XSLT标记语法。5.2实验要求要求:能合理体现下列数据的语义学生信息: 学号(声明为id类型属性),姓名,性别,出生日期课程信息: 课程编号(声明为id类型属性),课程名,学分,课程说明成绩信息: 成绩(考虑补考及重修)实例文档:多个学生、多门课程的成绩(不少于8个学生3门课程)要求XHTML文档实用、简介、美观。5.3

16、实验过程5.3.1分析过程在如何编写XHTML文档时候,我们需要对其结构有个基本的了解。 HTML 标题HTML 标题(Heading)是通过 - 等标签进行定义的。 HTML 段落HTML 段落是通过 标签进行定义的。 HTML 链接HTML 链接是通过 标签进行定义的。 HTML 图像HTML 图像是通过 标签进行定义的。5.3.2XHTML实验编写基本过程实验代码如下:STUDENT INFORMATIONstu_idnamesexbirthdaySUBJECT INFORMATIONsub_idsub_namecreditdiscriptionTEST INFORMATIONstu_s

17、ubFinalscoreMakeupscoreResetscore 运行结果如下:对应的实例文档在流浪器中的显示如下:5.4注意事项1.在编写XSLT的时候需要注意元素和属性的区别,以及如何区分分数的属性的时候采取课程和学生的联合属性。2.注意合理安排期末成绩、补考成绩和重修成绩的合理安排。第六章 DOM编程6.1实验目的理解DOM解析器工作原理。熟练掌握使用DOM接口处理Document节点,Element节点,Text节点,Attr节点,处理空白,进行验证有效性,使用DOM生成XML文件。使用DOM编程接口进行应用编程,读取XML文档,对文档语法片段进行操作,完成诸如对实验1文档数据的统计

18、分析,并以XML文档输出结果。6.2实验要求下面给出描述学生信息(student)、课程信息(course)、学生课程成绩(score)的DTD文档。(DTD文档)编写基于DOM的程序,实现对指定“学生”及“课程”的成绩查询。要求输入为“学号(student_id)、课程号(course_id)”,输出为“学生姓名(student_name)、课程名(course_name)、成绩(score)”。6.3实验过程6.3.1分析过程XML 文档对象模型定义访问和操作XML文档的标准方法。DOM 将 XML 文档作为一个树形结构,而树叶被定义为节点。我们就要对其节点有一个熟悉的了解。分析的结构图如

19、下所示:6.3.2DOM编写的基本过程实验的基本代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;namespace XML_DOM class ProgramXml_Dom_Class public static XmlDocument xmldocument; static void Main(string args) xmldocument = new XmlDocument(); Console.WriteLine(正在读取tex

20、t.5文件.); xmldocument.Load(text.5.xml); Console.WriteLine(文件读取成功!); string q; do judge(); Console.WriteLine(n请输入Q退出,或按任意键继续查询操作.); q = Console.ReadLine(); while (q != Q); public static void judge() Console.WriteLine(); Console.Write(请输入学号:); string a = Console.ReadLine(); XmlNode xnode = xmldocument.

21、SelectSingleNode(/student/s_numbers_no.= + a.ToString() + ); Console.Write(请输入课程号:); string b = Console.ReadLine(); XmlNode xnode1 = xmldocument.SelectSingleNode(/course/c_numberc_no.= + b.ToString() + ); if (xnode != null & xnode1 != null) string c, d, e, f, g; c = xnode.NextSibling.InnerText; d =

22、xnode1.NextSibling.InnerText; Console.WriteLine(- - - - - - - - - - - - - - - - - - - - - - - - - - -); Console.Write(姓名:0 课程名称:1, c, d); XmlNode xnode2 = xmldocument.SelectSingleNode(/grades_no.= + a.ToString() + ); XmlNode xnode3 = xmldocument.SelectSingleNode(/grades_no.= + a.ToString() + /c_gradec_no.= + b.ToString() + )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论