ADO Recordset 持久化 格式 XML 讀取 儲存

來源:互聯網
上載者:User
ado|xml <!-- METADATA TYPE="TypeLib" UUID="00000200-0000-0010-8000-00AA006D2EA4" -->
<%
Class DataSet
Private Recordset
Public TableName, FieldCount
Public XmlString

Private TableMap


Private Sub Class_Initialize ' 設定 Initialize 事件。
Set Recordset = Server.CreateObject("ADODB.RecordSet")
Recordset.ActiveConnection = "Provider=MSDAOSP; Data Source=Msxml2.DSOControl;"
End Sub

Private Sub Class_Terminate ' 設定 Terminate 事件。
Set Recordset = Nothing
End Sub

Function ReadXml(Name, filespec)
TableName = Name
Recordset.Open(filespec)
End Function

Function GetXml()
Call GetTableMap()
Do While not Recordset.Eof
XmlString = XmlString + GetXmlRow(Recordset.Fields)
Recordset.MoveNext()
Loop
Recordset.Close
XmlString = XmlRow(TableName, XmlString)
GetXml = XmlString

End Function

Sub GetTableMap()
IF (not Recordset.Eof) Then
FieldCount = Recordset.Fields.Count - 2
Execute("ReDim TableMap("& FieldCount &")")
For i = 0 To FieldCount
TableMap(i) = Recordset.Fields.Item(i).Name
Next
End IF
End Sub

Function GetXmlRow(Item)
Dim XmlRowString
For i = 0 To FieldCount
XmlRowString = XmlRowString + XmlField(TableMap(i), Item(i).Value)
Next
GetXmlRow = XmlRow("Row", XmlRowString)
End Function

Function XMlEncode(XmlString)
XmlString = Replace(XmlString, "<", "<")
XmlString = Replace(XmlString, ">", ">")
XMlEnCode = XmlString
End Function

Function XmlField(NodeName, NodeValue)
XmlField = "<"+ NodeName +">"+ XMlEncode(NodeValue) +"</"+ NodeName +">"
End Function

Function XmlRow(NodeName, NodeValue)
XmlRow = "<"+ NodeName +">"+ NodeValue +"</"+ NodeName +">"
End Function

End Class

Dim ds : Set ds = new DataSet
Call ds.ReadXml( "News", Server.MapPath("news.xml") )

Response.ContentType = "text/xml"
Response.Write(ds.GetXml())

Set ds = Nothing
%>




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。