【发布时间】:2011-08-19 04:12:55
【问题描述】:
当我从 VBA 中的文件加载数据集时出现错误。
?RsLoadFromXML("c:\sletmig\test.xml")
无法创建记录集。源 XML 不完整或无效。
这是我的源代码
Function RsLoadFromXML(sPath As String) As Recordset
Dim oStream As ADODB.Stream, oRsLoad As ADODB.Recordset
On Error GoTo ErrFailed
Set oRsLoad = New ADODB.Recordset
oRsLoad.CursorLocation = adUseClient
Set oStream = New ADODB.Stream
oStream.Charset = "iso-8859-1"
oStream.Open
'Load stream
oStream.LoadFromFile sPath
'Open recordset using stream
oRsLoad.Open oStream
Set RsLoadFromXML = oRsLoad
oStream.Close
Set oStream = Nothing
Set oRsLoad = Nothing
Exit Function
ErrFailed:
Debug.Print Err.Description
Debug.Assert False
Set RsLoadFromXML = Nothing
End Function
正在尝试加载这个 test.xml 文件
<?xml version="1.0"?>
<Instruments>
<Control>
<AnalysisNotional>1000000</AnalysisNotional>
<TAsOf>18/08/2011</TAsOf>
<NumberOfDays>1</NumberOfDays>
</Control>
</Instruments>
【问题讨论】:
-
我很确定 ADO 不能用于将任何随机 XML 转换为记录集:它必须是一个 XML 文件,最初是通过将现有 ADO 记录集保存到文件中创建的...