昆明理工大学-XML技术与应用-XML与Java(实验四).doc
《昆明理工大学-XML技术与应用-XML与Java(实验四).doc》由会员分享,可在线阅读,更多相关《昆明理工大学-XML技术与应用-XML与Java(实验四).doc(6页珍藏版)》请在冰点文库上搜索。
昆明理工大学信息工程与自动化学院学生实验报告
(2014—2015学年第2学期)
课程名称:
XML技术与应用 开课实验室:
信自楼234
年级、专业、班
计科
学号
姓名
成绩
实验项目名称
XML与Java
指导教师
卫守林
教
师
评
语
该同学是否了解实验原理:
A.了解□ B.基本了解□ C.不了解□
该同学的实验能力:
A.强□ B.中等□ C.差□
该同学的实验是否达到要求:
A.达到□ B.基本达到□ C.未达到□
实验报告是否规范:
A.规范□ B.基本规范□ C.不规范□
实验过程是否详细记录:
A.详细□ B.一般□ C.没有□
教师签名:
年月日
一、实验目的
1、掌握Java使用DOM加载XML的方法;
2、掌握使用DOM创建XML文件的方法;
3、学会转换XML文件为HTML的方法。
二、所用仪器、材料
Eclipse
三、实验内容、源码及其结果记录
1、示例6.1,xml.java
stocks.xml
xmlversion="1.0"encoding="UTF-8"?
>
--
Tochangethislicenseheader,chooseLicenseHeadersinProjectProperties.
Tochangethistemplatefile,chooseTools|Templates
andopenthetemplateintheeditor.
-->
SINA
59.92
1/13/2.10
00pm
-0.20
59.16
60.95
58.41
3991991
60.12
46.86-147.12
SinaCorporation
SOHU
55.93
1/13/2.10
00pm
+1.39
53.91
56.02
53.28
1421358
54.54
45.40-109.37
S.Inc
NTES
44.86
1/13/2.10
00pm
+0.24
44.53
44.99
44.25
422740
44.62
34.74-55.00
NetE
TestDocument.java
importjava.io.File;
importjavax.xml.parsers.DocumentBuilder;
importjavax.xml.parsers.DocumentBuilderFactory;
importorg.w3c.dom.Document;
importorg.w3c.dom.Element;
importorg.w3c.dom.Node;
importorg.w3c.dom.NodeList;
/*
*Tochangethistemplate,chooseTools|Templates
*andopenthetemplateintheeditor.
*/
/**
*
*@authorstudent
*/
publicclassTestDocument{
publicstaticfinalStringXML_FILE="F:
\\xml\\stocks.xml";
publicstaticvoidmain(String[]args){
DocumentBuilderFactoryfactory=null;
DocumentBuilderbuilder=null;
Documentdocument=null;
Elementroot=null;
Stringversion=null;
Stringencoding=null;
booleanisStandalone=false;
NodeListstocks=null;
Nodenode=null;
FilexmlFile=null;
try{
xmlFile=newFile(XML_FILE);
factory=DocumentBuilderFactory.newInstance();
builder=factory.newDocumentBuilder();
document=builder.parse(xmlFile);
version=document.getXmlVersion();
encoding=document.getXmlEncoding();
isStandalone=document.getXmlStandalone();
root=document.getDocumentElement();
System.out.println("该文件的版本为"+version);
System.out.println("该文件的编码为"+encoding);
System.out.println("该文件是否独立为"+isStandalone);
System.out.println("文档根元素为"+root.getNodeName());
stocks=root.getElementsByTagName("stock");
for(inti=0;i<=stocks.getLength()-1;i++){
node=stocks.item(i);
NodeListlist=node.getChildNodes();
System.out.println("\nStock"+(i+1)+":
");
for(intj=0;j<=list.getLength()-1;j++){
if(list.item(j).getNodeType()==Node.TEXT_NODE)
continue;
System.out.print("\t"+list.item(j).getNodeName()+":
"+
list.item(j).getTextContent());
if(j%3==0)System.out.println();
}
}
}
catch(Exceptione){
System.err.println(e);
e.printStackTrace();
}
}
}
2、示例5.12。
TestGenerateXsltOut.java
packageaa;
publicclassTestGenerateXsltOut{
publicstaticvoidmain(String[]args){
String[]values=newString[6];
values[0]="-IN";
values[1]="E:
\\XML\\code4_1.xml";
values[2]="-XSL";
values[3]="E:
\\XML\\code4_1.xsl";
values[4]="-OUT";
values[5]="E:
\\XML\\code4_1.out.html";
org.apache.xalan.xslt.Process.main(values);
}
}
WelcometoBeijing
Hi,everyone!
WelcometoBeijingOlypicGames!
四、实验结果、分析和结论
DOM解析 :
DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取和操作文档的任意部分,是W3C的官方标准 。
【优点】
1.许应用程序对数据和结构做出更改。
2.访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。
【缺点】
1.常需要加载整个XML文档来构造层次结构,消耗资源大。