您好,欢迎访问三七文档
武汉理工大学学生实验报告书课程名称XML技术开课学院计算机科学与技术学院指导老师学生姓名专业班级2011—2012学年第二学期学生学号实验课成绩实验课程名称:XML技术实验项目名称设计Schema类型的XML文档实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)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有了初步认识,为以后实验打好了基础。实验课程名称:XML技术实验项目名称验证HTML文件实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)习题5第4题请写出下列XSL样式表文件Xiti4.xsl变换后得到的HTML文件。Xiti4.xml?xmlversion=1.0encoding=UTF-8??xml-stylesheethref=Xiti4.xsltype=text/xsl?灯具台灯价格234元/价格产地/产地/台灯壁灯价格56元/价格产地上海/产地/壁灯/灯具Xiti4.xsl?xmlversion=1.0encoding=UTF-8?xsl:stylesheetversion=1.0xmlns:xsl=:templatematch=/HTMLtableborder=1xsl:for-eachselect=灯具/*trthxsl:copy//thxsl:apply-templates//tr/xsl:for-each/table/HTML/xsl:templatexsl:templatematch=//价格tdxsl:value-of//td/xsl:templatexsl:templatematch=//产地tdxsl:value-of//td/xsl:template/xsl:stylesheet二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)1.使用AltovaXMLSpy编写Xiti4.xsl和Xiti4.xml。2.查看Xiti4.xml显示的结果。3.编写HTML文件,对比。HTML源代码为:HTMLtableborder=1trth台灯//thtd234元/tdtd北京/td/trtrth壁灯//thtd56元/tdtd上海/td/tr/table/HTML三、主要仪器设备及耗材个人计算机AltovaXMLSpy第二部分:实验调试与结果分析(可加页)一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)1、使用浏览器打开xml文件,结果如下:2、使用浏览器打开html文件,结果如下:结果是一样的!二、实验小结、建议及体会通过这次实验,我验证了html文件,同时加深了对xsl的理解,虽然也遇到一些困难,但最后都解决了,不但提高了动手能力,也加深了我对XML的理解实验课程名称:XML技术实验项目名称用DOM技术解析xml文件实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)使用DOM技术解析以下xml文件,并计算两本书各自的销售总额。?xmlversion=1.0encoding=UTF-8?图书信息item书名Java程序设计/书名出版日期2009-10-10/出版日期发行量5000册/发行量单价36元/单价/itemitem书名JSP程序设计/书名出版日期2009-7-10/出版日期发行量3000册/发行量单价32元/单价/item/图书信息二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)importorg.w3c.dom.*;importjavax.xml.parsers.*;importjava.io.*;publicclasstest03{publicstaticintn=0,m=0;;publicstaticvoidmain(Stringargs[]){try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderdomParser=factory.newDocumentBuilder();Documentdocument=domParser.parse(newFile(test.xml));NodeListnodeList=document.getChildNodes();output(nodeList);System.out.println(总销售额为:+n+元);}catch(Exceptione){System.out.println(e);}}publicstaticvoidoutput(NodeListnodeList){intsize=nodeList.getLength();for(intk=0;ksize;k++){Nodenode=nodeList.item(k);if(node.getNodeType()==Node.TEXT_NODE){TexttextNode=(Text)node;if(((Element)textNode.getParentNode()).getNodeName().equals(发行量)){String[]str=textNode.getWholeText().split(\\D);m=Integer.parseInt(str[1]);}if(((Element)textNode.getParentNode()).getNodeName().equals(单价)){String[]str=textNode.getWholeText().split(\\D);n+=m*Integer.parseInt(str[1]);}Stringcontent=textNode.getWholeText();}if(node.getNodeType()==Node.ELEMENT_NODE){ElementelementNode=(Element)node;Stringname=elementNode.getNodeName();NodeListnodes=elementNode.getChildNodes();output(nodes);}}}}三、主要仪器设备及耗材个人计算机,AltovaXMLSpy第二部分:实验调试与结果分析(可加页)一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)通过理论计算:5000*36+3000*32=276000结果正确!二、实验小结、建议及体会通过这次实验,自己动手编码,加深了对DOM技术的理解,为以后的学习打下了良好的基础。实验课程名称:XML技术实验项目名称用SAX技术解析XML文件实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)有如下的XML文件,请编写Java程序(参考例7_6),使用SAX解析器获取标记中的文本数据,并根据这些数据计算出“货品列表”中的全部货品的总重量。?xmlversion=1.0encoding=UTF-8?货品列表货品名称电视/名称重量23.8/重量/货品货品名称洗衣机/名称重量67.3/重量/货品/货品列表二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)算法描述: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(/+qName+);if(isComputabled){StringnumberStr=newString(numberContent);numberStr=numberStr.trim();doubled=Double.parseDoubl
本文标题:34xml实验报告
链接地址:https://www.777doc.com/doc-4968353 .html