实验七 数据岛
一、实验目的
(1)了解并掌握内部数据岛的定义及使用方法; (2)了解并掌握外部数据岛的定义及使用方法。 二、实验要求
(1)实现一个内部数据岛访问的HTML网页; (2)实现一个有外部数据岛访问的HTML网页。
三、实验原理
(1)数据岛是存在于HTML网页中的XML代码段;
(2)数据岛通过在HTML网页中使用
Shally 25
输入以下访问外部数据岛的HTML文件friends.html
实验总结:
经过本实验,进一步了解了数据岛的用法,包括外部数据岛和内部数据岛。 内部数据岛,内嵌于HTML里,查询速度快,适合小量常用的数据,且这些数据为公开数据。
内部数据岛,作为一个单独的XML存储数据,其查询速度有所降低,适合量大的数据集合,且隐藏数据多数存储在外部数据岛。
实验八 使用XML开发Web Service
一、实验目的
(1)了解并掌握Web Service的创建方法; (2)了解并掌握Web Service的调用方法。 二、实验要求
(1)创建一个带有多个参数的Web服务; (2)创建Web窗体来调用已创建的Web服务。
三、实验原理
(1)Web服务一种部署在Web上的对象;
(2)Web服务是用标准的、规范的基于XML的WSDL语言描述的。 四、实验步骤
Web服务代码:
在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(); }
//Web服务方法Add返回两个整型参数之和 [WebMethod]
Public int add(int x,int y) { return (x+y); }
//Web服务方法Average返回三个整型参数的平均值 [WebMethod]
Public float Average(float x,float y,float z) { Return (x+y+z)/3; } }
Web客户端:
WSCustomer.aspx如下:
<%@ Page Language=\ CodeFile=\Inherits=\
\
Web服务测试实例
(5) WSCustomer.aspx.cs如下:
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Collections; using System.ComponentModel; using System.Drawing; using System.Web.SessionState;
namespace webdemo {
public partial class WSCustomer : System.Web.UI.Page { myws.SumAddService customer; //声明Web服务代理类 protected void Page_Load(object sender, EventArgs e) { customer = new myws.SumAddService(); //实例化Web服务代理类 if (!Page.IsPostBack) {
Label5.Visible = false; TextBox3.Visible = false; } }
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e) {
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 InitializeComponent(); base.OnInit(e); }
/// 设计器支持所需的方法 - 不要使用代码编辑器修改此方法的内容。 private void InitializeComponent() { this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load); }
#endregion
private void Button1_Click(object sender, System.EventArgs e) { if (DropDownList1.SelectedIndex == 0)
//当选择运算为加法时,调用Web服务方法Add。注意进行数据类型的转换 Label7.Text = customer.Add(Convert.ToInt32(TextBox1.Text), Convert.ToInt32(TextBox2.Text)).ToString();
else //当选择运算为平均值时,调用Web服务方法Average。注意进行数据类型的转换 Label7.Text = customer.Average(Convert.ToInt32(TextBox1.Text),
Convert.ToInt32(TextBox2.Text), Convert.ToInt32(TextBox3.Text)).ToString(); }
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e) { if (DropDownList1.SelectedIndex == 0) { //当选择运算为加法时,隐藏第3个文本框 Label5.Visible = false; TextBox3.Visible = false; }
else { //当选择运算为平均值时,显示第3个文本框
TextBox3.Visible = ture; } } } }