昆明理工大学-XML技术与应用-XML与Java(实验四)Word格式.doc
《昆明理工大学-XML技术与应用-XML与Java(实验四)Word格式.doc》由会员分享,可在线阅读,更多相关《昆明理工大学-XML技术与应用-XML与Java(实验四)Word格式.doc(6页珍藏版)》请在冰豆网上搜索。
实验报告是否规范:
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.
-->
stocks>
<
stock>
<
symbol>
SINA<
/symbol>
last>
59.92<
/last>
date>
1/13/2.10<
/date>
time>
4:
00pm<
/time>
change>
-0.20<
/change>
open>
59.16<
/open>
high>
60.95<
/high>
low>
58.41<
/low>
volume>
3991991<
/volume>
previousclose>
60.12<
/previousclose>
annrange>
46.86-147.12<
/annrange>
name>
SinaCorporation<
/name>
/stock>
<
SOHU<
55.93<
+1.39<
53.91<
56.02<
53.28<
1421358<
54.54<
45.40-109.37<
S.Inc<
NTES<
44.86<
+0.24<
44.53<
44.99<
44.25<
422740<
44.62<
34.74-55.00<
NetE<
/stocks>
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);
该文件的编码为"
+encoding);
该文件是否独立为"
+isStandalone);
文档根元素为"
+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{
String[]values=newString[6];
values[0]="
-IN"
values[1]="
E:
\\XML\\code4_1.xml"
values[2]="
-XSL"
values[3]="
\\XML\\code4_1.xsl"
values[4]="
-OUT"
values[5]="
\\XML\\code4_1.out.html"
org.apache.xalan.xslt.Process.main(values);
html>
head>
METAhttp-equiv="
Content-Type"
content="
text/html;
charset=UTF-8"
title>
WelcometoBeijing<
/title>
/head>
body>
br>
h2>
Hi,everyone!
WelcometoBeijingOlypicGames!
/h2>
/body>
/html>
四、实验结果、分析和结论
DOM解析
:
DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映