《XML技术及应用》实验指导书
Element item = doc.createElement(\ // Create element
item.appendChild( doc.createTextNode(\
root.appendChild( item ); // atach element to Root element item = doc.createElement(\ // Create another Element item.appendChild( doc.createTextNode(\
root.appendChild( item ); // Attach Element to previous element down tree item = doc.createElement(\
item.appendChild( doc.createTextNode(\
root.appendChild( item ); // Attach another Element - grandaugther doc.appendChild( root ); // Add Root to Document
OutputFormat format = new OutputFormat( doc ); //Serialize DOM // 创建一个File对象,代表DOM Tree所包含的数据的输出介质,这是一个XML文件。 File f = new File (\
// 创建文件输出流对象fos,请留意构造函数的参数。
FileOutputStream fos=new FileOutputStream(f); XMLSerializer serial = new XMLSerializer(format ); serial.setOutputByteStream(fos); // 串行化输出结果。
serial.asDOMSerializer().serialize(doc); } catch ( Exception ex ) {
ex.printStackTrace(); }
} }
C#语言的实现可参考教材P156的示例,VB的实现可参考教材P153-154的示例。
五、思考题
(1)如何为题目2所建立的XML文档增加学生节点的子节点“专业”? (2)DOM解析器与SAX阅读器的原理与性能有何不同?
六、参考文献
1. 吴洁 编著,XML应用教程,清华大学出版社,175-194页,2007年5月
16
《XML技术及应用》实验指导书
实验七 数据岛
一、实验目的
(1)了解并掌握内部数据岛的定义及使用方法; (2)了解并掌握外部数据岛的定义及使用方法。 二、实验要求
(1)实现一个内部数据岛访问的HTML网页; (2)实现一个有外部数据岛访问的HTML网页。 三、实验原理
(1)数据岛是存在于HTML网页中的XML代码段;
(2)数据岛通过在HTML网页中使用
1. 习题一
(1)输入以下带有内部数据岛的HTML文件
名字 年龄 城市 电话
17 《XML技术及应用》实验指导书 25
(2)在IE中打开上述文件,观察效果。
2. 习题二
(1)输入以下XML文件(作为外部数据岛friendinfo.xml)
(2)输入以下访问外部数据岛的HTML文件friends.html
(3)在IE中打开friends.html文件,观察效果。 五、思考题
(1)外部数据岛较之内部数据岛有什么优点?
(2)为什么说数据岛结合了HTML与XML的优点?
六、参考文献
1. 顾兵 主编,XML实用技术教程,清华大学出版社,210-229页,2007年1月 2. 吴洁 编著,XML应用教程,清华大学出版社,187-189页,2007年5
19
《XML技术及应用》实验指导书
实验八 使用XML开发Web Service
一、实验目的
(1)了解并掌握Web Service的创建方法; (2)了解并掌握Web Service的调用方法。 二、实验要求
(1)创建一个带有多个参数的Web服务; (2)创建Web窗体来调用已创建的Web服务。 三、实验原理
(1)Web服务一种部署在Web上的对象;
(2)Web服务是用标准的、规范的基于XML的WSDL语言描述的。 四、实验步骤
1.创建一个带有多个参数的Web服务
(1)打开Visual Studio 2005 ,选择“文件”,再选择“新建网站”,再选择“ASP.NET Web服务”,选择文件系统路径,确定结束。将Web服务的类名改为SumAddService,文件名改为SumAddService.cs,asmx文件名改为SumAddService.asmx。在SumAddService.cs中输入以下代码: using System;
using System.Web; using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = \
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class SumAddService : System.Web.Services.WebService { public SumAddService() {
//如果使用设计的组件,请取消注释以下行 //InitializeComponent(); }
//[WebMethod]
//public string HelloWorld() {
// return \ //}
//Web服务方法Add返回两个整型参数之和 [WebMethod]
[1]
//Web服务方法Average返回三个整型参数的平均值 [WebMethod] [2]
}
(2)在[1]处添加求两个整型参数之和的方法,在[2]添加求三个整型参数的平均值的方法。 (3)选择菜单“生成”,再选择“生成网站”;选择菜单“调试”,再选择“启动调试”。观察Web服务的测试页面。若显示如下图所示,则表示Web服务创建完成并已部署在本地。
20