用XML数据岛结合Dom制作通讯录(2)_Xml教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:在SQLServer中用XQuery分解XML数据
  在举例说明如何分解上一篇文章中的数据时,我们首先了解一下XQuery和它在SQL Server 2005中为开发者提供的功能。   XQuery介绍   XQuery,也称作XML Query,是一种查询XML数

,你可以自定义字段名称,在本文所用的XML文件中,连字段名都可以为中文,数据非常地简单明晰,因为它所携带的信息不是显示上的描述,而是信息的语意,极大的加强了文档的可读性。使用XML也便于不同系统之间信息的传输。
2、XML数据岛允许用户在客户端访问与操控数据集,不必频繁的与服务器交互,这对于减轻服务器的负荷很有帮助。同时,由于XML数据岛本身的特点,使得在客户端的数据操作十分简便,减少了编程量。
3、DOM强制使用树模型来访问XML文档中的信息,由于XML本质上就是一种分层结构,所以这种描述方法是相当有效的。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,控制起来相当灵活。
4、采用xmlhttp对象传送XML数据到服务器,客户端页面无闪烁刷新现象。

本程序在基于Windows2000平台的IIS5.0和IE5.0上运行通过。在实际运用过程中,还可使用DOM结合XSL技术为通讯录增加排序、格式转换和数据查找等功能,使用XML数据岛的datapagesize属性以及previousPage、nextPage函数为通讯录增加分页功能,使用DTD与XML Schema动态验证通讯录数据。

------------------------THE END----------------------


附:(全部源程序)
****************************************************************************
一、index.htm(显示通讯录):
<HTML><BODY bgColor=#a1bae6>
<XML id=xmldso alt="用XML数据岛结合Dom制作通讯录" src=http://www.mb5u.com/tele.xml></XML>
<center><b>计算机世界----通迅录</b><br><br>
<TABLE id="table" DATASRC='#xmldso' BORDER CELLPADDING=3>
<THEAD><TH>编号</TH><TH>部门名称</TH><TH>电话号码</TH><TH>电子邮件</TH>
</THEAD>
<TR>
<TD><label DATAFLD="contactID"></label></TD>
<TD><label DATAFLD="部门名称"></label></TD>
<TD><label DATAFLD="电话号码"></label></TD>
<TD><label DATAFLD="电子邮件"></label></TD>
</TR>
</TABLE>
</center></BODY></HTML>
****************************************************************************
二、dom.htm(在线编辑通讯录):
<HTML><BODY bgColor=#a1bae6>
<XML id=xmldso alt="用XML数据岛结合Dom制作通讯录" src=http://www.mb5u.com/tele.xml></XML>
<XML id=newid></XML>
<SCRIPT Language=JavaScript>
newid.async = false;
newid.load("newid.xml");
function addID(){
var doc=xmldso.XMLDocument
var rootnode=doc.documentElement
var sortNode = rootnode.selectNodes("//部门名称")
var currentid = sortNode.length-1
var cc=sortNode.item(currentid).text;
if ((cc=="尚未输入")||(cc==""))
{
alert("请将最后一行数据填写完毕后再增加新的记录!");
}
else
{
var node= newid.documentElement.childNodes(0).cloneNode(true);
var contactID=parseInt(sortNode.item(currentid).parentNode.getAttribute("contactID")) 1;
node.setAttribute("contactID",contactID);
xmldso.documentElement.appendChild(node);
}
}
function delID(whichFld){
var sortNode = xmldso.selectSingleNode("//计算机世界[@contactID='" whichFld "']");
if (sortNode.parentNode.childNodes.length>1) sortNode.parentNode.removeChild(sortNode);
}
</SCRIPT>
<script language="vbscript">
Sub cc_onmouseup '当点击“保存”按钮时触发;
Dim objXML, objXSL, objFSO,strFile, strFileName, strXSL,strURL,TheForm
set SaveXMLDoc=xmldso.XMLDocument
strURL="dns2.asp"
Set objXML = CreateObject("Microsoft.XMLHTTP") '创建MS的XMLHTTP组件;
objXML.Open "post",strURL,false '采用Post提交方式;
objXML.setrequestheader "content-type","application/x-www-form-urlencoded"
objXML.send SaveXMLDoc ' 发送信息
'xmlGet = objXML.responsebody '稍等片刻后,得到服务器端传回来的结果;
msgbox "保存成功!"
Set objXML = Nothing
end sub
</SCRIPT>
<center><b>计算机世界----通信录</b><br><br>
<TABLE id="table" DATASRC='#xmldso' BORDER CELLPADDING=3>
<THEAD>
<TH>编号</TH>
<TH>部门名称</TH>
<TH>电话号码</TH>
<TH>电子邮件</TH>
</THEAD>
<TR>
<TD><acronym title='点击即可删除该记录'><INPUT TYPE=button size=4 DATAFLD="contactID" onclick="delID(this.value)"></acronym></TD>
<TD><INPUT TYPE=TEXT DATAFLD="部门名称"></TD>
<TD><INPUT TYPE=TEXT DATAFLD="电话号码"></TD>
<TD><INPUT TYPE=TEXT DATAFLD="电子邮件"></TD>
</TR>
</TABLE>
<INPUT TYPE=BUTTON name=dd id=dd VALUE="增加记录" onmouseover="this.focus()" onmousedown="addID();">
<INPUT TYPE=BUTTON name=cc id=cc VALUE="保存"></center></BODY></HTML>
****************************************************************************
三、dns2.asp(后台保存通讯录):
<%
Set ReceivedDoc = CreateObject("Microsoft.XMLDOM")
ReceivedDoc.async=False
ReceivedDoc.load Request
Set files=Server.CreateObject("Scripting.FileSystemObject")
Set numtxt=files.CreateTextFile(Server.MapPath("tele.xml"),True)
numtxt.WriteLine(replace(ReceivedDoc.xml,"?>"," encoding=""gb2312""?>"))
numtxt.Close
response.write ReceivedDoc.xml
%>
****************************************************************************
四、tele.xml(通讯录XML文档):
<?xml version="1.0" encoding="gb2312"?>
<中国计算机世界出版服务公司通信录>
<计算机世界 contactID="1">
<部门名称>电话总机</部门名称>
<电话号码>010-68130909</电话号码>
<电子邮件>webmaster@ccw.com.cn</电子邮件>
</计算机世界>
</中国计算机世界出版服务公司通信录>
****************************************************************************
五、newid.xml(通讯录XML初始化文档):
<?xml version="1.0" encoding="gb2312"?>
<中国计算机世界出版服务公司通信录>
<计算机世界 contactID="1">
<部门名称>尚未输入</部门名称>
<电话号码>保密</电话号码>
<电子邮件>保密</电子邮件>
</计算机世界>
</中国计算机世界出版服务公司通信录>


分享:用MySQL和PHP创建XML
XML是作为数据交换标准而出现的。Java和.NET都内在支持XML,但是其它平台上的开发者也不用担心自己被这项技术所遗弃了。PHP就是一个颇受欢迎的支持XML的脚本环境。 在本文中,我将向你介绍利

共2页上一页12下一页
来源:模板无忧//所属分类:Xml教程/更新时间:2008-08-22
相关Xml教程