纯html数据怎么处理,使用纯HTML的通用数据管理和服务

使用纯HTML的通用数据管理和服务。然而,为了收集数据,你需要一个数据储存库。要避免使用数据库服务器带来的很多问题,你可以在XML中收集这些数据。下面是我们的项目的基本结构:

我最初将数据限制为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 "" & m_SQL.validateUser(m_DOM) & ""

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 "" & Server.MapPath("user.xml") & ""

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将数据内容转变成布局。

version="1.0">

*Information in red is required

red

black

First Name:

select="first_name"/>

red

black

MI:

red

black

Last Name:

select="last_name"/>

ver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值