XML实验报告Word下载.docx
- 文档编号:18901791
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:15
- 大小:459.18KB
XML实验报告Word下载.docx
《XML实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《XML实验报告Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
(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的基本语法。
验证HTML文件
一、实验内容描述(问题域描述)
习题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
xsl:
stylesheetversion="
xmlns:
xsl="
http:
//www.w3.org/TR/WD-xsl"
<
templatematch="
/"
<
HTML>
<
tableborder="
1"
<
for-eachselect="
灯具/*"
<
tr>
<
th>
<
copy/>
/th>
apply-templates/>
/tr>
/xsl:
for-each>
/table>
/HTML>
template>
//价格"
td>
value-of/>
/td>
//产地"
stylesheet>
1.使用AltovaXMLSpy编写Xiti4.xsl和Xiti4.xml。
2.查看Xiti4.xml显示的结果。
3.编写HTML文件,对比。
HTML源代码为:
台灯/>
北京<
壁灯/>
三、主要仪器设备及耗材
一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
1、使用浏览器打开xml文件,结果如下:
2、使用浏览器打开html文件,结果如下:
结果是一样的!
二、实验小结、建议及体会
通过这次实验,学习了Html的知识和xsl的知识,了解了xml如何通过关联xsl文件来作用。
对xml有了进一步的了解。
了解xsl的一些应用领域。
这次实验,也让我体会到xml功能的强大和使用的方便。
!
用DOM技术解析xml文件
使用DOM技术解析以下xml文件,并计算两本书各自的销售总额。
?
fourteenXSL.xsl"
图书信息>
item>
书名>
Java程序设计<
/书名>
出版日期>
2009-10-10<
/出版日期>
发行量>
5000册<
/发行量>
单价>
36元<
/单价>
/item>
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+"
册"
);
总销售额为:
+number*(price/2)+"
元"
}
catch(Exceptione)
System.out.println(e);
}
}
publicstaticvoidoutput(NodeListnodeList)
{
intsize=nodeList.getLength();
for(intk=0;
k<
size;
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文件,以便获取所需要的数据。
用SAX技术解析XML文件
有如下的XML文件,请编写Java程序(参考例7_6),使用SAX解析器获取标记中的文本数据,并根据这些数据计算出“货品列表”中的全部货品的总重量。
货品列表>
货品>
名称>
电视<
/名称>
重量>
23.8<
/重量>
/货品>
洗衣机<
67.2<
/货品列表>
importorg.xml.sax.helpers.*;
importorg.xml.sax.*;
publicclassshiyan4{
publicstaticvoidmain(String[]args){
try{
Filefile=newFile("
Xiti7.xml"
SAXParserFactoryfactory=SAXParserFactory.newInstance();
SAXParsersaxParser=factory.newSAXParser();
EventHandlerhandler=newEventHandler();
saxParser.parse(file,handler);
catch(Exceptione){
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)
if(isComputabled)
StringnumberStr=newString(numberContent);
numberStr=numberStr.trim();
doubled=Double.parseDouble(numberStr);
TotalWeight=TotalWeight+d;
isComputabled=false;
publicvoidendDocument()
System.out.println("
共有"
+count+"
件货品"
货品列表中全部货品的总重量为:
+TotalWeight);
通过这次实验,对SAX技术有了进一步了解,它是基于事件处理的解析器。
初步掌握了XML的一些技术。
因为还没涉及到有关这方面的知识,还没深刻体会到XML的重要性。
但在今后学习中,更加深入掌握这门技术。
加强实践,巩固基础知识,认真学习xml和sax有关知识。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML 实验 报告