Set objNode = objXMLDOM.createElement("UnITPrice")
objNode.text = objRecordset.Fields.Item("UnITPrice").Value
objRowNode.appendChild(objNode)
Set objNode = objXMLDOM.createElement("UnITsInStock")
objNode.text = objRecordset.Fields.Item("UnITsInStock").Value
objRowNode.appendChild(objNode)
objRootNode.appendChild(objRowNode)
objRecordset.MoveNext
Loop
Set objNode = Nothing
Set objRowNode = Nothing
Set objRootNode = Nothing
Set objRecordset = Nothing
%>
现在,我们就得到了一个XML DOM对象。这种方法对于记录集很大时性能并不理想,因为系统内存中要同时保存ADO记录集对象和XML DOM对象。
第二个办法,遍历记录集,直接生成XML字符串本身:
<%
Dim strXML
strXML = "<XML>"
objRecordset.MoveFirst
Do While NOT objRecordset.EOF
strXML = strXML & "<row>"
strXML = strXML & "<ProductName>" _
& objRecordset.Fields.ITem("ProductName").Value _
& "</ProductName>"
strXML = strXML & "<UnITPrice>" _
& objRecordset.Fields.Item("UnITPrice").Value _
& "</UnITPrice>"
strXML = strXML & "<UnITsInStock>" _
& objRecordset.Fields.Item("UnITsInStock").Value _
& "</UnITsInStock>"
strXML = strXML & "</row>"
objRecordset.MoveNext
Loop
strXML = strXML & "</XML>"
Set objRecordset = Nothing
%>
但是,以上两种方法最大的缺陷是不能够重用代码,我们把节点的名字都写死了,如果我们进行不同字段的查询,我们还必须手动更改我们的代码,以满足不同节点的需要。我们下面的方法将变得更加通用。
第三种方法:可重用的方法。
<%
Dim strXML
strXML = "<XML>"
objRecordset.MoveFirst
Do While NOT objRecordset.EOF
strXML = strXML & "<row&am
上一页 [1] [2] [3] [4] [5] [6] 下一页