亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

用XML數據島結合Dom制作通訊錄

2024-09-05 20:54:04
字體:
來源:轉載
供稿:網友

一般情況下,如果要為網站提供一個通訊錄程序,需要使用CGI結合后臺數據庫技術,這對WEB服務器的要求比較高,在很多不提供數據庫功能的虛擬主機上甚至無法實現。當然,我們還可以采用TXT文本替代數據庫,但TXT文本是比較難操作的,我們必須一行一行的讀取判斷,還要用分隔字符串實現字段分離,無法進行復雜運算。
現在,我們可以使用“可擴展的標記語言 (XML)” 來保存通訊錄的數據,從而體現出XML的優點:表現數據的結構化方法,對于保存許多關系型數據結構的文件很有幫助。

一、基本原理:
在Microsoft Internet Explorer 5.0及以后的版本里,我們可以利用XML元素來創建數據島,數據島就是被HTML頁面引用或包含的XML數據,XML數據可以包含在HTML文件內,也可以包含在某外部文件內,利用XML數據島可以讓我們免除編寫復雜腳本的麻煩。DOM可對XML文檔進行解析,文檔中的元素、實體、屬性等所有個體都可以用對象模型表示,整個文檔的邏輯結構類似一棵樹,生成的對象模型就是樹的節點,每個對象同時包含了方法和屬性,DOM提供了許多查找節點的方法。利用DOM,開發人員可以動態地創建XML、遍歷文檔、增加(刪除/修改)文檔內容,DOM提供的API與編程語言無關,所以對一些DOM標準中沒有明確定義的接口,不同解析器的實現方法可能會有所差別。

二、具體流程為:
1、定義XML文件如下所示:
  <?xml version="1.0" encoding="gb2312"?>
    <中國計算機世界出版服務公司通信錄>
      <計算機世界 contactID="2">
        <部門名稱>計算機室</部門名稱>
        <電話號碼>139</電話號碼>
        <電子郵件>fsdos@163.net</電子郵件>
      </計算機世界>
    </中國計算機世界出版服務公司通信錄>
將上述XML文檔保存為tele.xml文件,同時,將上述XML文檔中的字段內容置空,做為初始化框架數據,另存為newid.xml文件。
2、客戶端加載 XML 文檔,在放置通訊錄的表格中通過DATASRC='#xmldso'將XML文件綁定在表格中,DATASRC屬性實際上是通過在要處理的XML元素的ID屬性的前面加上#來實現的,所以我們可以在TD元素中間指定具體需要顯示的字段;
3、使用DOM技術對通訊錄進行增加、刪除記錄操作;
4、通過XMLHTTP協議連接到服務器,保存XML文檔。

三、XML DOM編程簡述:
1、客戶端dom.htm頁面:
<HTML><BODY bgColor=#a1bae6>
<XML id=xmldso alt="用XML數據島結合Dom制作通訊錄" src=http://www.49028c.com/tele.xml></XML>
<XML id=newid></XML> <!--加載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 ' 發送信息,保存XML數據;
'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>

2、服務器端dns2.asp程序比較簡單,在接收到XML數據后,創建文件對象,保存到tele.xml即可:
<
Set ReceivedDoc = CreateObject("Microsoft.XMLDOM") '創建 XML DOM實例;
ReceivedDoc.async=False
ReceivedDoc.load Request '接收XML數據;
Set files=Server.CreateObject("Scripting.FileSystemObject")
Set numtxt=files.CreateTextFile(Server.MapPath("tele.xml"),True)
numtxt.WriteLine(replace(ReceivedDoc.xml,"?>"," encoding=""gb2312""?>")) '將XML數據寫入文件
numtxt.Close
response.write ReceivedDoc.xml
>

3、實際使用過程中,還需要增加一個顯示通訊錄的網頁index.htm,其實就是上面dom.htm的簡化版,去除所有增加、刪除、修改和保存功能,只在表格單元格中用LABEL顯示數據:
<HTML><BODY bgColor=#a1bae6>
<XML id=xmldso alt="用XML數據島結合Dom制作通訊錄" src=http://www.49028c.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>

四、使用XML數據島結合Dom技術的優點:
1、首先,當然是XML本身帶來的好處。XML打破了標記定義的壟斷

共2頁上一頁12下一頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人xxxx视频| 日韩欧美精品免费在线| 亚洲一区二区三区成人在线视频精品| 亚洲视频自拍偷拍| 国产精品精品视频一区二区三区| 国产一区二区三区网站| 国产欧美一区二区三区四区| 精品国产乱码久久久久酒店| 日本一区二区在线播放| 热99久久精品| 欧美剧在线观看| 国产成人aa精品一区在线播放| 蜜臀久久99精品久久久无需会员| 7m第一福利500精品视频| 欧美中文在线观看| www.久久草.com| 欧美午夜精品久久久久久久| 国产精品va在线播放我和闺蜜| 国产日韩欧美在线观看| 欧美日韩美女在线| 黑人极品videos精品欧美裸| 91精品在线观看视频| 日韩视频―中文字幕| 亚洲精品国产综合久久| www.亚洲免费视频| 亚洲第一福利在线观看| 亚洲成人av片在线观看| 欧美国产精品va在线观看| 最近2019中文字幕一页二页| 亚洲第一天堂无码专区| 国产精品日日做人人爱| 国产不卡视频在线| 欧美老女人bb| 久久国产精品99国产精| 日韩中文字幕在线视频| 国产精品久久av| 久久免费精品日本久久中文字幕| 91在线看www| 久久99久久久久久久噜噜| 夜夜嗨av色综合久久久综合网| 国产主播在线一区| 久久精品久久久久电影| 成人动漫网站在线观看| 国产精品视频在线播放| 亚洲国产精品人人爽夜夜爽| 欧美性xxxx极品hd欧美风情| 日韩中文在线视频| 中文字幕成人精品久久不卡| 日韩av一区在线| 国产精品美女久久久免费| 久久久久久久久91| 欧美日韩激情视频8区| 国产精品91在线观看| 欧美激情一区二区三区高清视频| 亚洲国产日韩欧美在线动漫| 亚洲国产婷婷香蕉久久久久久| 成人在线观看视频网站| 精品久久国产精品| 成人福利网站在线观看| 国产精品久久一区主播| 中日韩美女免费视频网址在线观看| 欧美精品久久久久a| 亚洲一区二区三区四区在线播放| 狠狠色香婷婷久久亚洲精品| 国产欧美婷婷中文| 久久视频在线免费观看| 精品久久久香蕉免费精品视频| 国产免费一区二区三区在线能观看| 岛国av在线不卡| 成人av在线天堂| 国产欧美日韩免费看aⅴ视频| 欧美韩国理论所午夜片917电影| 亚洲护士老师的毛茸茸最新章节| 久久久久久久成人| 美日韩丰满少妇在线观看| 午夜精品久久久久久久久久久久久| www.亚洲免费视频| 中文国产亚洲喷潮| 日韩欧美国产黄色| 精品视频—区二区三区免费| 国产成人鲁鲁免费视频a| 亚洲一级黄色av| 日本高清+成人网在线观看| 久久中文久久字幕| 中文字幕欧美精品日韩中文字幕| 色婷婷成人综合| 国产亚洲美女久久| 国产精品一区专区欧美日韩| 精品亚洲aⅴ在线观看| 亚洲欧美在线x视频| 精品久久久91| 亚洲欧洲成视频免费观看| 日韩欧美大尺度| 久久精品亚洲94久久精品| 亚洲日本成人女熟在线观看| 精品国产乱码久久久久酒店| 亚洲视频axxx| 成人xxxxx| 欧美日韩性视频在线| 国产精品第七影院| 精品一区电影国产| 色www亚洲国产张柏芝| 97av在线视频| 色爱av美腿丝袜综合粉嫩av| 亚洲精品v天堂中文字幕| 亚洲女人天堂av| 欧美麻豆久久久久久中文| 国产色婷婷国产综合在线理论片a| 国产精品免费视频久久久| 欧美激情女人20p| 日本一区二区三区四区视频| 成人美女av在线直播| 欧美日韩一区二区三区| 久久天天躁狠狠躁夜夜爽蜜月| 久久综合久久美利坚合众国| 亚洲成人精品视频在线观看| 国产精品久久久久不卡| 国产欧美日韩精品在线观看| 欧美猛男性生活免费| 久久这里有精品| 91精品国产乱码久久久久久久久| 国产精品视频yy9099| 成人av.网址在线网站| 国产97在线亚洲| 欧美电影在线观看完整版| 日韩视频免费在线| 色偷偷88888欧美精品久久久| 国产z一区二区三区| 国产婷婷色综合av蜜臀av| 国产精品亚洲一区二区三区| 日韩av成人在线观看| 日韩欧美在线免费观看| 4p变态网欧美系列| 激情懂色av一区av二区av| 国产精品99免视看9| 亚洲一区二区三区视频| 久久久www成人免费精品张筱雨| 91牛牛免费视频| 午夜精品福利视频| y97精品国产97久久久久久| 欧美大片大片在线播放| 国产精品扒开腿做| 91国内在线视频| 91av视频在线| 欧美巨乳美女视频| 尤物九九久久国产精品的分类| 4438全国亚洲精品在线观看视频| 亚洲精品国产欧美| 国产精品久久久久77777| 欧美日韩国产123| 久久亚洲一区二区三区四区五区高| 97成人精品视频在线观看| 欧美精品福利视频| 少妇高潮 亚洲精品| 亚洲欧美日韩高清| 大荫蒂欧美视频另类xxxx| 日韩一区在线视频| 美女少妇精品视频| 北条麻妃一区二区三区中文字幕| 97久久精品人搡人人玩| 亚洲精品www| 3344国产精品免费看| 日韩性xxxx爱| 日韩视频在线观看免费|