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

首頁 > 開發 > XML > 正文

使用純HTML的通用數據管理和服務

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

使用純HTML的通用數據管理和服務。然而,為了收集數據,你需要一個數據儲存庫。要避免使用數據庫服務器帶來的很多問題,你可以在XML中收集這些數據。下面是我們的項目的基本結構:

<user>
<first_name/>
<last_name/>
<mi/>
</user>

我最初將數據限制為first name,last name和middle。這個頁面之后的基本思想是用戶信息在這個頁面中獲得。在用戶信息需求得到滿足以后,流程必須被轉到下一個邏輯收集步驟。為了使事情變得簡單,我將把用戶功能包裝到一個ASP類中。

Function Coalesce(vVar, vAlt)
If vVal = "" Or VarType(vVal) = 1 Or VarType(vVal) = 0 Then
Coalesce = vAlt
Else
Coalesce = vVal
End If
End Function

Class CUser
Private m_SQL, m_DOM

Public Property Get DOM()
Set DOM = m_DOM
End Property

Public Sub saveUser()
m_SQL.save "save_user", m_DOM
End Sub

Public Function validate()
m_DOM.loadXML "<root>" & m_SQL.validateUser(m_DOM) & "</root>"
If Not m_DOM.selectSingleNode("//error") Is Nothing Then
validate = False
Else
validate = True
End If
End Function

Private Sub collectData(dom, oCollection)
Dim nItem, node, parent_node, n, sKey
For nItem = 1 To oCollection.Count
sKey = oCollection.Key(nItem)
Set parent_node = dom.selectSingleNode("//" & sKey & "s")
If Not parent_node Is Nothing Then
For n = 1 To oCollection(sKey).Count
Set node = parent_node.selectSingleNode(sKey & _
"[string(.)='" &
oCollection(sKey)(n) & "']")
If node Is Nothing Then
Set node = dom.createNode(1, sKey, "")
Set node = parent_node.appendChild(node)
End If
node.text = Coalesce(oCollection(sKey)(n), "")
Next
Else
Set node = dom.selectSingleNode("//" & sKey)
If Not node Is Nothing Then _
node.text = Coalesce(oCollection(sKey), "")
End If
Next
End Sub

Private Sub Class_Initialize()
Set m_SQL = New CSQL
Set m_DOM = Server.CreateObject("MSXML2.DOMDocument")
m_DOM.async = False
If VarType(Request ("txtUserXML")) = 0 Or Request ("txtUserXML") = "" Then
m_DOM.loadXML Request("txtUserXML")
Else
m_DOM.load "<root>" & Server.MapPath("user.xml") & "</root>"
End If
collectData m_DOM, Request.Form
collectData m_DOM, Request.QueryString
End Sub

Private Sub Class_Terminate()
Set m_SQL = Nothing
Set m_DOM = Nothing
End Sub

End Class

Class CSQL
Private m_DAL, m_Stream

Public Function save(sStoredProc, oDOM)
'adVarChar = 200
m_DAL.RunSP Array(m_DAL.mp("@xml_param", 200, 8000, oDOM.xml))
End Function

Public Function validateUser(oDOM)
Set m_Stream = m_DAL.RunSPReturnStream("validate_user", Array(_
m_DAL.mp("@xml_param", 200, 8000, oDOM.xml)))
validateUser = m_Stream.ReadText(-1)
m_Stream.Close
End Function

Private Sub Class_Initialize()
Set m_DAL = Server.CreateObject("MyPkg.MyDAL")
m_DAL.GetConnection "some connection string"
Set m_Stream = Server.CreateObject("ADODB.Stream")
End Sub

Private Sub Class_Terminate()
Set m_DAL = Nothing
Set m_Stream = Nothing
End Sub

End Class
CSQL類是基于一個數據訪問層(m_DAL)組件MyPkg.MyDAL建立起來的。而這個組件則是基于Fitch和Mather DAL組件建立起來的,這兩個組件可以從MSDN找到。這樣我們就在SQL Server與你的代碼建立了橋梁。


當CUser對象初始化之后,它收集Request數據并使用collectData()子函數將收集到的數據放到UserDOM的一個相應的節點中。(代碼我不再解釋,因為它本身相當容易理解。)在收集了數據之后(或者不收集數據),我們將使用XSL將數據內容轉變成布局。

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform
version="1.0">
<xsl:output method="html"/>

<xsl:template match="/">
<xsl:if test="//error">
<font color="red">*Information in red is required<br/></font>
</xsl:if>
<xsl:apply-templates select="//user"/>
</xsl:template>

<xsl:template match="user">
<font>
<xsl:attribute name="color">
<xsl:choose>
<xsl:when test="//error[.='first name']">red</xsl:when>
<xsl:otherwise>black</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
First Name:
</font>
<input type="text" name="first_name">
<xsl:attribute name="value"><xsl:value-of
select="first_name"/></xsl:attribute>
</input><br/>
<font>
<xsl:attribute name="color">
<xsl:choose>
<xsl:when test="//error[.='mi']">red</xsl:when>
<xsl:otherwise>black</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
MI:
</font>
<input type="text" name="mi">
<xsl:attribute name="value"><xsl:value-of select="mi"/></xsl:attribute>
</input><br/>
<font>
<xsl:attribute name="color">
<xsl:choose>
<xsl:when test="//error[.='last_name']">red</xsl:when>
<xsl:otherwise>black</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
Last Name:
</font>
<input type="text" name="last_name">
<xsl:attribute name="value"><xsl:value-of
select="last_name"/></xsl:attribute>
</input><br/>

ver

共2頁上一頁12下一頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区www| 亚洲欧美国产高清va在线播| 亚洲www在线| 国产精欧美一区二区三区| 九九热精品视频国产| 26uuu另类亚洲欧美日本老年| 国产精品入口免费视| 欧美一区二粉嫩精品国产一线天| 神马久久久久久| 97精品国产97久久久久久免费| 91香蕉嫩草神马影院在线观看| 国产精品久久久一区| 欧美性xxxxx极品娇小| 精品久久久久久| 久久久久久久久久国产精品| 日韩在线欧美在线国产在线| 91久久久久久| 夜夜嗨av色综合久久久综合网| 青青青国产精品一区二区| 欧美人与性动交a欧美精品| 亚洲一区二区日本| 日韩中文字幕亚洲| 国产日韩欧美在线视频观看| 在线观看欧美成人| 久久久亚洲国产天美传媒修理工| 日韩成人av在线| 精品中文字幕久久久久久| 91日本在线观看| 亚洲美女av在线播放| 91福利视频在线观看| 一本大道久久加勒比香蕉| 国产精品美女网站| 国产精品高潮呻吟久久av无限| 91久久国产综合久久91精品网站| 欧美日韩国产在线看| 97视频在线观看网址| 18一19gay欧美视频网站| 亚洲乱码一区av黑人高潮| 中文字幕一精品亚洲无线一区| 国产视频精品免费播放| 亚洲精品在线91| 日韩中文字幕第一页| 亚洲成人在线网| 热久久免费视频精品| 日韩欧美福利视频| 97人人模人人爽人人喊中文字| 91经典在线视频| 国产亚洲精品美女久久久| 国产日本欧美在线观看| 国产成人精品一区二区三区| 成人在线播放av| 97久久精品人人澡人人爽缅北| 欧美国产视频一区二区| 91亚洲va在线va天堂va国| 51精品国产黑色丝袜高跟鞋| 欧美色视频日本高清在线观看| 亚洲免费电影在线观看| 久久亚洲私人国产精品va| 成人福利网站在线观看| www.欧美三级电影.com| 亚洲男人天堂九九视频| 美女av一区二区三区| 欧美又大粗又爽又黄大片视频| 久久久久久久网站| 亚洲免费小视频| www欧美xxxx| 91中文精品字幕在线视频| 国产噜噜噜噜久久久久久久久| 欧美成人精品在线观看| 国产精品久久网| 日韩av免费看| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧洲一区二区三区在线观看| 色黄久久久久久| 久久亚洲综合国产精品99麻豆精品福利| 精品国产精品三级精品av网址| 国产精品无av码在线观看| 国产成人高清激情视频在线观看| 亚洲国产精品成人精品| 久久久之久亚州精品露出| 高清日韩电视剧大全免费播放在线观看| 亚洲国产精品资源| www.日本久久久久com.| 国产精品一区av| 国产精品久久久久久久电影| 欧美色道久久88综合亚洲精品| 日韩成人av网址| 中文字幕精品视频| 久久精品91久久香蕉加勒比| 欧美日韩国产成人在线| 国产不卡av在线免费观看| 精品国产91久久久久久老师| 欧美亚洲视频在线观看| 色99之美女主播在线视频| 亚洲欧美中文日韩在线v日本| 亚洲韩国欧洲国产日产av| 国产精品欧美亚洲777777| 欧美资源在线观看| 成人av资源在线播放| 欧美色另类天堂2015| 亚洲bt欧美bt日本bt| 欧美在线视频网站| 日韩av在线高清| 日韩电影中文字幕| 午夜精品久久久久久久久久久久久| 国产视频久久久久久久| 欧美成人精品在线播放| 成人在线激情视频| 国产精品女视频| 欧美日韩国产在线播放| 少妇激情综合网| 亚洲女性裸体视频| 5278欧美一区二区三区| 国产精品成人一区| 国产综合香蕉五月婷在线| 国产在线日韩在线| 国产精品日韩欧美大师| 欧美精品制服第一页| 日韩精品中文字幕在线观看| 久久视频精品在线| 日韩美女av在线免费观看| 欧美性xxxx极品hd欧美风情| 日韩在线视频导航| 日韩欧美a级成人黄色| 国产精品久久久久aaaa九色| 欧美丝袜一区二区| www.欧美视频| 成人黄色大片在线免费观看| 久久久久国产精品免费| 欧美激情va永久在线播放| 国产亚洲一区二区精品| 亚洲美腿欧美激情另类| 欧美成年人视频| 欧美日韩亚洲一区二| 国产日韩欧美视频| 亚洲老头同性xxxxx| 国产日韩在线免费| 国产丝袜一区二区| 亚洲欧美精品在线| 国产精品亚洲аv天堂网| 久久97精品久久久久久久不卡| 国产精品极品在线| 91夜夜未满十八勿入爽爽影院| 国产精品日韩在线一区| 国产ts一区二区| 久久精品久久久久电影| 色噜噜久久综合伊人一本| 精品高清一区二区三区| 亚洲国产天堂久久国产91| 欧美性生交大片免网| 亚洲视频在线观看视频| 一本一道久久a久久精品逆3p| 欧美在线不卡区| xxxxxxxxx欧美| 国产97免费视| 欧美一区二区三区免费视| 久久精品成人一区二区三区| 热久久这里只有精品| 97视频在线观看免费| 日本亚洲欧洲色| 亚洲精品福利资源站| 亚洲www永久成人夜色| 国产精品亚洲自拍| 国产香蕉精品视频一区二区三区|