ADO Recordset 持久化 格式 XML 读取 保存 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- ADO Recordset 持久化 格式 XML 读取 保存 (http://www.webasp.net/article/17/16707.htm) |
| -- 作者:未知 -- 发布日期: 2005-02-28 |
| <!-- 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 %> |
| webasp.net |