@ 팀 윌리엄스가 올바른지이 test.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
가 ... ADO가 처리 할 수있는 XML 영구 레코드를 위해 특별히 내 소스 코드 Recordset.Save (see this)에 의해 생성되었습니다.
This article Microsoft에서 제공하는 작은 글자가 누락 될 수 있습니다. "제공된 XML 데이터는 ADO 레코드 집합을 수용 할 수있는 형식이어야합니다."
일반 XML 파일을로드하려면 Microsoft XML (Office에서 "Microsoft XML #. #"에 대한 참조를 추가해야합니다 .Visual Basic의 도구 -> 참조에서이 작업을 수행 할 수 있습니다. 편집자)
Sub XML()
Dim oDoc As MSXML2.DOMDocument
Set oDoc = New MSXML2.DOMDocument
oDoc.Load ("C:\Path\To\File\AnXMLFile.xml")
End Sub
자세한 정보가 필요하면 알려 주시기 바랍니다.
수정 : 매일 새로운 것을 배웁니다. 이것은 실제로 아주 멋진 IMHO입니다. 레코드 세트의 데이터가 필요하기 때문에 백킹 데이터베이스가없는 레코드 세트를 만들고 데이터를 추가 할 수 있습니다. (Source article)
Sub XML()
Dim oDoc As MSXML2.DOMDocument
Dim oRS As ADODB.Recordset
Dim oNode As MSXML2.IXMLDOMNode
Dim oSubNodes As MSXML2.IXMLDOMSelection
Set oDoc = New MSXML2.DOMDocument
oDoc.Load ("C:\Path\To\File\AnXMLFile.xml")
Set oRS = New ADODB.Recordset
Set oRS.ActiveConnection = Nothing
oRS.CursorLocation = adUseClient
oRS.LockType = adLockBatchOptimistic
With oRS.fields
.Append "AnalysisNotional", adInteger
.Append "TAsOf", adDate
.Append "NumberOfDays", adInteger
End With
oRS.Open
For Each oNode In oDoc.selectNodes("/Instruments/Control")
oRS.AddNew
oRS.fields("AnalysisNotional").Value = oNode.selectSingleNode("AnalysisNotional").Text
oRS.fields("TAsOf").Value = oNode.selectSingleNode("TAsOf").Text
oRS.fields("NumberOfDays").Value = oNode.selectSingleNode("NumberOfDays").Text
Next
oRS.MoveFirst
'--- Do something with recordset here ---
End Sub
내가 ADO는 레코드에 어떤 임의의 XML로 변환 할 수 없습니다 확신을 제공합니다 : 그것은 원래에 의해 생성 된 XML 파일을 수있다 파일에 기존 ADO 레코드 세트 저장 ... –