XML实验报告.docx

上传人:b****5 文档编号:5912406 上传时间:2023-01-02 格式:DOCX 页数:15 大小:459.18KB
下载 相关 举报
XML实验报告.docx_第1页
第1页 / 共15页
XML实验报告.docx_第2页
第2页 / 共15页
XML实验报告.docx_第3页
第3页 / 共15页
XML实验报告.docx_第4页
第4页 / 共15页
XML实验报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

XML实验报告.docx

《XML实验报告.docx》由会员分享,可在线阅读,更多相关《XML实验报告.docx(15页珍藏版)》请在冰豆网上搜索。

XML实验报告.docx

XML实验报告

学生学号

0120910680421

实验课成绩

武汉理工大学

学生实验报告书

 

课程名称XML程序设计

开课学院计算机科学与技术学院

指导老师杨朝阳

学生姓名朱鹏

专业班级软件0904

 

2011—2012学年第二学期

 

实验课程名称:

XML程序设计

实验项目名称

设计Schema类型的XML文档

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

1、实验内容:

(1)为学生信息建立一个Schema文档类型定义XML文档,结果应该为合法的。

2、程序的编写要求:

(1)文档内容要求:

03届(学生信息(学号、姓名、班级、电子邮件、QQ、通信地址(省份(或州)、城市、街道、邮政编码)));

(2)并且要求建立至少两个班级、每个班级至少五个学生的信息;

(3)在使用过程中根据个人设计,使得XML文档中包含以下技术的使用:

a、外部参数实体的使用

b、外部通用实体的使用

c、Schema文档中属性声明的使用(如:

CDATA类型、枚举类型、ID类型、IDREF类型、ENTITIS类型)

 

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

实验步骤:

1、利用XMLWriter根据实验内容创建一个XML的数据模型Schema文档;

2、根据Schema模式文档生成相应的XML;

3、为XML输入相应的学生数据;

4、将该文档存为学生信息XML文档;

5、修改调试,直到在浏览器中可以看到正确的结果;

三、主要仪器设备及耗材

个人计算机

AltovaXMLSpy

第二部分:

实验调试与结果分析(可加页)

一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

三、实验小结、建议及体会

通过这次实验,对XML有了初步的认识,了解XMLSchema模式,掌握XML文档命名空间和属性的使用方法,掌握XML文档合法性验证的方法,掌握模式Schema的基本语法。

实验课程名称:

XML程序设计

实验项目名称

验证HTML文件

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

习题5第4题

请写出下列XSL样式表文件Xiti4.xsl变换后得到的HTML文件。

Xiti4.xml

xmlversion="1.0"encoding="UTF-8"?

>

xml-stylesheethref="Xiti4.xsl"type="text/xsl"?

>

<灯具>

<台灯>

<价格>234元

<产地>

<壁灯>

<价格>56元

<产地>上海

 

Xiti4.xsl

xmlversion="1.0"encoding="UTF-8"?

>

stylesheetversion="1.0"xmlns:

xsl="http:

//www.w3.org/TR/WD-xsl">

templatematch="/">

for-eachselect="灯具/*">

copy/>

apply-templates/>

for-each>

template>

templatematch="//价格">

value-of/>

template>

templatematch="//产地">

value-of/>

template>

stylesheet>

 

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

1.使用AltovaXMLSpy编写Xiti4.xsl和Xiti4.xml。

2.查看Xiti4.xml显示的结果。

3.编写HTML文件,对比。

HTML源代码为:

<台灯/>

234元

北京

<壁灯/>

56元

上海

 

三、主要仪器设备及耗材

个人计算机

AltovaXMLSpy

 

第二部分:

实验调试与结果分析(可加页)

一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

1、使用浏览器打开xml文件,结果如下:

2、使用浏览器打开html文件,结果如下:

结果是一样的!

 

二、实验小结、建议及体会

通过这次实验,学习了Html的知识和xsl的知识,了解了xml如何通过关联xsl文件来作用。

对xml有了进一步的了解。

了解xsl的一些应用领域。

这次实验,也让我体会到xml功能的强大和使用的方便。

 

实验课程名称:

XML程序设计

实验项目名称

用DOM技术解析xml文件

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

使用DOM技术解析以下xml文件,并计算两本书各自的销售总额。

xmlversion="1.0"encoding="UTF-8"?

>

xml-stylesheethref="fourteenXSL.xsl"type="text/xsl"?

>

<图书信息>

<书名>Java程序设计

<出版日期>2009-10-10

<发行量>5000册

<单价>36元

<书名>JSP程序设计

<出版日期>2009-7-10

<发行量>3000册

<单价>32元

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

算法描述:

importorg.w3c.dom.*;

importjavax.xml.parsers.*;

importjava.io.*;

publicclassJAXPTwo

{

publicstaticvoidmain(String[]args)

{

try

{

DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();

DocumentBuilderdomParser=factory.newDocumentBuilder();

Documentdocument=domParser.parse(newFile("example5_14.xml"));

NodeListnodeList=document.getChildNodes();

output(nodeList);

System.out.println("总发行量为:

"+number+"册");

System.out.println("总销售额为:

"+number*(price/2)+"元");

}

catch(Exceptione)

{

System.out.println(e);

}

}

publicstaticvoidoutput(NodeListnodeList)

{

intsize=nodeList.getLength();

for(intk=0;k

{

Nodenode=nodeList.item(k);

if(node.getNodeType()==Node.TEXT_NODE)

{

TexttextNode=(Text)node;

Stringcontent=textNode.getWholeText();

if(((Element)textNode.getParentNode()).getNodeName().equals("发行量"))

{

content=textNode.getWholeText();

number=number+Double.parseDouble(content.trim());

}

if(((Element)textNode.getParentNode()).getNodeName().equals("单价"))

{

content=textNode.getWholeText();

price=price+Double.parseDouble(content.trim());

}

System.out.print(content);

}

if(node.getNodeType()==Node.ELEMENT_NODE)

{

ElementelementNode=(Element)node;

Stringname=elementNode.getNodeName();

System.out.print(name+":

");

NodeListnodes=elementNode.getChildNodes();

output(nodes);

}

}

}

privatestaticdoublenumber=0;

privatestaticdoubleprice=0;

}

三、主要仪器设备及耗材

个人计算机,AltovaXMLSpy、eclipse

第二部分:

实验调试与结果分析(可加页)

一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

使用eclipse编辑并运行,结果如下:

结果正确!

 

二、实验小结、建议及体会

通过这次实验,进一步学习了DOM解析器。

掌握了一些DOM解析器的基本知识。

也了解到DOM解析器的好处:

一个应用程序可以方便地操作内存中树形结构的数据的节点来处理XML文件,以便获取所需要的数据。

 

实验课程名称:

XML程序设计

实验项目名称

用SAX技术解析XML文件

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

有如下的XML文件,请编写Java程序(参考例7_6),使用SAX解析器获取标记中的文本数据,并根据这些数据计算出“货品列表”中的全部货品的总重量。

xmlversion="1.0"encoding="UTF-8"?

>

<货品列表>

<货品>

<名称>电视

<重量>23.8

<货品>

<名称>洗衣机

<重量>67.2

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

算法描述:

importjavax.xml.parsers.*;

importorg.xml.sax.helpers.*;

importorg.xml.sax.*;

importjava.io.*;

publicclassshiyan4{

publicstaticvoidmain(String[]args){

try{

Filefile=newFile("Xiti7.xml");

SAXParserFactoryfactory=SAXParserFactory.newInstance();

SAXParsersaxParser=factory.newSAXParser();

EventHandlerhandler=newEventHandler();

saxParser.parse(file,handler);

}

catch(Exceptione){

System.out.println(e);

}

}

}

classEventHandlerextendsDefaultHandler

{

booleanisComputabled;

intcount;

doubleTotalWeight;

StringBuffernumberContent,otherContent;

publicvoidstartElement(Stringuri,StringlocalName,StringqName,Attributesatts)

{

numberContent=newStringBuffer();

otherContent=newStringBuffer();

System.out.print("<"+qName+">");

if(qName.startsWith("重量"))

isComputabled=true;

if(qName.endsWith("货品"))

{

count++;

}

}

publicvoidcharacters(char[]ch,intstart,intlength){

Stringtext=newString(ch,start,length);

if(isComputabled==true)

numberContent.append(text);

System.out.print(text);

}

publicvoidendElement(Stringuri,StringlocalName,StringqName)

{

System.out.print("");

if(isComputabled)

{

StringnumberStr=newString(numberContent);

numberStr=numberStr.trim();

doubled=Double.parseDouble(numberStr);

TotalWeight=TotalWeight+d;

}

isComputabled=false;

}

publicvoidendDocument()

{

System.out.println("");

System.out.println("共有"+count+"件货品");

System.out.println("货品列表中全部货品的总重量为:

"+TotalWeight);

}

}

三、主要仪器设备及耗材

个人计算机,AltovaXMLSpy、eclipse

第二部分:

实验调试与结果分析(可加页)

一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

使用eclipse编辑并运行,结果如下:

 

二、实验小结、建议及体会

通过这次实验,对SAX技术有了进一步了解,它是基于事件处理的解析器。

初步掌握了XML的一些技术。

因为还没涉及到有关这方面的知识,还没深刻体会到XML的重要性。

但在今后学习中,更加深入掌握这门技术。

加强实践,巩固基础知识,认真学习xml和sax有关知识。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1