首页 > 范文大全 > 正文

利用xml语言创建简单留言的C#程序设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇利用xml语言创建简单留言的C#程序设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:介绍了XML的主要特点。介绍了利用xml特点创建简单留言的c#程序设计,通过实例重点介绍了其设计方法及应用情况。

关键词:C#;XML;程序;设计

中图分类号:TP309文献标识码:A文章编号:1009-3044(2008)32-1135-02

XML Language Used to Create a Simple Message of the Program Design in C#

YANG Miao-qi, YU Ge-wu, JIA Dong-mei

(Information Technology Department of CPAPF, Tianjin 300162, China)

Abstract: In this paper the features ofXML. Introduced using XML features a simple message of the program design in C#, through examples of its focus on the design method and applications.

Key words: C#; XML; program; design

目前随着电子商务的快速发展,很多企业制作静态网页,通过网络这一窗口宣传自己的形象、提高自己的知名度和信任度。这种静态网页由于开发成本低,占用空间小,受到了大多数企业的欢迎,发展十分迅猛。但随着企业形象在网络上的进一步发展,很多产品销售企业在网页时也希望有一定的交互功能,达到类似动态网站的效果,其目的是与购买商实现简单的互动,能达到相互交流信息的目的。本文在此通过实例介绍一种利用XML语言在C#.net编程语言环境下创建简单留言的程序设计,实现简单留言的目的。

1 静态网页和动态网页的区别

我们平时所说的静态网页和动态网页是有区别的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。专业上讲静态网页使用语言:HTML(超文本标记语言) ,动态网页使用语言:HTML+ASP或HTML+PHP或HTML+JSP等。静态网页和动态网页各有特点,网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之一般要采用动态网页技术来实现。

我们企业在开始做宣传网站时往往都选择的是静态网页。因为他们的内容更新不是很频繁,加上是宣传性质用不到数据库技术,因此基本选用的是静态网页。但这种网站在一定程度上缺少交互的功能,达不到让用户留言的目的,因此很多产品生产企业希望能在此静态网站基础上实现交互的功能,达到动静结合。

2 XML语言介绍

XML是Extensible Markup Language的缩写。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。 XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:它极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同,也使得我们使用它在静态网页中建立简单留言提供了技术支持,我们可以不使用数据库,而是使用xml这种扩展标记语言,将留言通过建立xml文件标记下来,然后通过HTML以一定格式显示出来。XML最大的优势在于对各种数据的管理。任何系统都可以通过XML的解析器来读取XML数据,因此它的数据可以通行各处,而不用担心系统不支持的问题。

3 程序设计及实现

此程序是为天津傲绿神农有限科技公司开发的一个网站中用到的留言程序,考虑到企业是个产品销售企业,为了方便客户通过国际互连网给公司留言,我们在静态网站的基础上设计了此留言版,其目的是能及时收到客户的意向性产品需求,也同时方便我们的产品销售人员在第一时间与客户联系。整个版面分两个部分,一个是用户网上订货,另一个是管理员查看订单。网站留言用户网上订单界面如图1所示,管理员查看订单如图2所示。

3.1 建立并存储的xml源文件(在网上管理员查看订单显示界面中)

文件名字:UserControl.xml

文件存放位置:\aoluweb\uiaolu\UserControl.xml

文件内容:

<?xml version="1.0" encoding="utf-8"?>

<Roles>

<Role uniqueid="1">

<txt txt="李四" />

<txt txt="销售员" />

<txt txt="天津武清县农场" />

<txt txt="天津武清县" />

<txt txt="2346689" />

<txt txt="2345678" />

<txt txt="300001" />

<txt txt=".cn" />

<txt txt="需要公路运输,肥水素:43袋" />

<txt txt="2006-10-27" />

</Role>

<Role uniqueid="2">

<txt txt="张三" />

<txt txt="总经理" />

<txt txt="内蒙古经济合作公司" />

<txt txt="内蒙古齐齐哈尔市" />

<txt txt="23856798" />

<txt txt="23457789" />

<txt txt="430012" />

<txt txt="" />

<txt txt="需要铁路运输,广谱型:3000袋" />

<txt txt="2008-05-25" />

</Role>

</Roles>

3.2 c#建立xml并添加记录到UserControl.xml中的源程序(对应“发送”按钮)

using System;

using System.Xml.Xsl;

using System.Xml;

using System.Xml.XPath;

protected string[] myList =new string[10];

private void btn_sent_Click(object sender, System.EventArgs e)

{ int uniqueid = 0;//用于记录留言条数

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("/uiaolu/UserControl.xml");

XmlNode root = xmlDoc.SelectSingleNode("Roles");

XmlNodeList xnl = root.ChildNodes;

foreach(XmlNode xnf in xnl)

{ XmlElement objxe = (XmlElement)xnf;

uniqueid=(int)Math.Max((decimal)uniqueid,Convert.ToDecimal(objxe.GetAttribute("uniqueid")));}

XmlElement xe1 = xmlDoc.CreateElement("Role");

xe1.SetAttribute("uniqueid",Convert.ToString(++uniqueid));

myList[0] = tb_xm.Text.Trim().ToString();//姓名

myList[1] = ddlzw.SelectedValue.ToString().Trim();//你的职务

……

myList[9] =System.DateTime.Now.ToString("yyyy-MM-dd");//订单时间

for(int i=0;i

{ XmlElement xesub2 = xmlDoc.CreateElement("txt");

xesub2.SetAttribute("txt",myList[i].ToString());

xe1.AppendChild(xesub2);}

root.AppendChild(xe1);

xmlDoc.Save("/uiaolu/UserControl.xml");建立并存储记录到UserControl.xml中

scriptString="alert('订货发送成功!继续订货请点击“重置”!')</script>";

if(!this.IsStartupScriptRegistered("Startup")) this.RegisterStartupScript("Startup", scriptString);}

3.3 C#读取XML操作UserControl.xml中记录并显示的源程序

private void LoadRole()

{ tbFiles.Rows.Clear();

TableRow trTitles=new TableRow();

TableCell tcTitlexz=new TableCell();

tcTitlexz.Text="选择";

trTitles.Controls.Add(tcTitlexz);

TableCell tcTitlexm=new TableCell();

tcTitlexm.Text="您的姓名";

trTitles.Controls.Add(tcTitlexm);

……

TableCell tcTitlesj=new TableCell();

tcTitlesj.Text="订单时间";

trTitles.Controls.Add(tcTitlesj);

tbFiles.Controls.Add(trTitles);

CheckBox cbDelItem;

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("/uiaolu/UserControl.xml");//取出UserControl.xml中的记录

XmlNode xn = xmlDoc.SelectSingleNode("Roles");

XmlNodeList xnl = xn.ChildNodes;

foreach(XmlNode xnf in xnl)

{ XmlElement xe = (XmlElement)xnf;

int uniqueid=int.Parse(xe.GetAttribute("uniqueid"));

TableRow tr=newTableRow();

TableCell tcCbDel=new TableCell();

cbDelItem=new CheckBox();

cbDelItem.Text=uniqueid.ToString();

tcCbDel.Controls.Add(cbDelItem);

tr.Controls.Add(tcCbDel);

if(xe.GetAttribute("uniqueid") == uniqueid.ToString())

{

XmlNodeList xnl2 = xe.ChildNodes;

foreach(XmlNode xnf2 in xnl2)

{

XmlElement xe2 = (XmlElement)xnf2;

TableCell tcxm=new TableCell();

tcxm.Text=xe2.GetAttribute("txt");

tcxm.Wrap=true;

tr.Controls.Add(tcxm);}}

tbFiles.Controls.Add(tr);

tbFiles.EnableViewState=true;}}

4 结语

本人在此只是通过XML扩展标记语言,使用C#语言编程实现了一种制作简单留言的方式。当然利用其它语言,如,Java等采用其它方式也可以实现这种静态网站的交互功能,作者也是通过介绍这种方式起到一个抛砖引玉的目的。相信随着企业电子商务的迅猛发展,通过简单的方式,在不增加其投入成本的前提下,利用XML语言将交互方式应用于企业的宣传网站是切实可行的。

参考文献:

[1] 华铨平.XML语言及应用[M].北京:北京交通大学出版社,2005:13-15.

[2] 许劲松,周斌,杨波,等.XML基础教程[M].北京:人民邮电出版社,2007:23-26.