《XML技术及应用》实验指导书
实验五 级联式样式表CSS
一、实验目的
(1)了解并掌握CSS文档的基本语法及创建步骤;
(2)了解并掌握XML文档中使用CS S文档的引入式方法; (3)了解并掌握XML文档中使用CSS文档的嵌入式方法。
二、实验要求
(1)能基于示例XML文件进行所要求的CSS定义; (2)能利用CSS文档对XML文档进行显示。
三、实验原理
(1)CSS是对XML元素的显示进行定义的方法; (2)CSS不符合XML语法。
四、实验内容 1.题目一
(1)对以下“work.xml”进行CSS定义(设CSS文件名为“work.css”)
市场主管10名:
能适应国内出差,一年以上工作经验,沟通能力强。底薪3000-5000元/月。
项目经理5名:
具有一年以上项目开发经验,沟通能力强,精通TCP和UDP开发。底薪4000-5000元/月。
平面设计师2名:
艺术院校毕业,具有一年以上GUI设计经验,创意独特。底薪2000-4000元/月。
(2)定义CSS文档work.css如下:
work{
border: solid;
border-color: Silver; border-width: 1px; width:400px;
11
《XML技术及应用》实验指导书
height:220px;
} title{
background-color: #DBDBFF; color: Red; font-size: 28pt; text-align: center; width:100%; height: 15%; }
content{
background-color: white; text-indent:25pt; width:100%; height: 69%; } item{
margin-top: 5px; display: list-item; list-style: decimal; font-size: 11pt; } head{
font-family: @隶书; color: Red; }
connection{
background-color: #8283FF; color: White; width:100%; height: 20%; font-size: 11pt; }
(3)在XML文件中指定对应CSS样式表
2.题目二
为下面的XML文档contacts.xml设计CSS文档,要求每个元素的字体、颜色、字号等样式都不同。
12
《XML技术及应用》实验指导书
五、思考题
(1)CSS的基本作用是什么?
(2)CSS中元素显示定义之间有嵌套关系吗?
六、参考文献
1. 吴洁 编著,XML应用教程,清华大学出版社,118-149页,2007年5月
13
《XML技术及应用》实验指导书
实验六 DOM技术应用
一、实验目的
1、了解DOM技术的基本对象;
2、掌握DOM技术的常用对象的基本属性及方法; 3、掌握DOM技术在Java、C#语言里的简单使用。
二、实验要求
1、能使用DOM接口对XML文档进行解析; 2、能使用DOM接口创建XML文档。
三、实验原理
1、DOM模型在内存中为XML文档建立逻辑形式的节点树; 2、DOM接口是W3C组织提供的操作XML文档的接口。
四、实验内容 1.题目一
编写Java应用程序,使用DOM对象对指定的XML文档进行遍历,输出XML文档的所有节点。参考Java源文件如下。必须事先下载Xerces.jar包,设置到CLASSPATH路径。 import java.io.*;
import org.w3c.dom.*; import org.w3c.dom.Node; import org.xml.sax.*;
import org.apache.xerces.parsers.*; public class DOMSample {
static public void main(String[] argv) { try {
if (argv.length != 1) {
System.err.println(\ System.exit(1); }
BufferedReader in = new BufferedReader(new FileReader(argv[0])); DOMParser parser = new DOMParser(); parser.parse(new InputSource(in));
Document doc = parser.getDocument(); System.out.println(\元素是: \
printElements(doc); System.out.println();
System.out.println(\每个元素的属性是: \ printElementAttributes(doc); }
catch (SAXException s) {
System.out.println(s.toString()); } catch (IOException e) {
System.out.println(e.toString()); } }
14
《XML技术及应用》实验指导书
static void printElements(Document doc) {
NodeList nl = doc.getElementsByTagName(\表示匹配所有标记。 Node n;
for (int i=0;i System.out.print(n.getNodeName()+\ } } static void printElementAttributes(Document doc) { NodeList nl = doc.getElementsByTagName(\ Element e; Attr attr; NamedNodeMap nnm; String attrname; String attrval; int i,len; len = nl.getLength(); for (int j=0;j < len;j++) { e = (Element)nl.item(j); System.out.println(e.getTagName()+\ nnm = e.getAttributes(); if (nnm != null) { for (i=0;i attrval = attr.getValue(); System.out.println(\属性是:\ } } } } } C#语言的实现可参考教材P152的示例,VB的实现可参考教材P194的示例9.1。 2.题目二 使用DOM接口创建XML文档,实现语言不限。要求包括2个学生的基本信息,每个学生包括:班级(班级号、学生(姓名、学号、成绩(数学、英语、体育)))。Java的参考实现如下: import org.w3c.dom.*; import org.apache.xerces.dom.DocumentImpl; import org.w3c.dom.Document; import org.apache.xml.serialize.OutputFormat; import org.apache.xml.serialize.XMLSerializer; import java.io.*; public class DOMGenerate { public static void main( String[] argv ) { try { Document doc= new DocumentImpl(); Element root = doc.createElement(\ // Create Root Element 15