Ich verwende eine GET-Anforderung, um eine XML-Antwort von einem Webdienst zu erhalten. Ich versuche, die Antwort zu analysieren und einen Teil davon in einem VBA-Formular anzuzeigen. Die VBA-Komponenten habe ich im Griff, aber die XML-Syntax bereitet mir einige Probleme. Dies ist die Funktion, die ich bisher in VBA habe:
Sub GetCANSIM()
Dim XMLRequest As New XMLHTTP
Dim objXML As MSXML2.DOMDocument
Dim point As IXMLDOMNode
Dim value As Variant
Dim lngYear As Long
Set objXML = New MSXML2.DOMDocument
XMLRequest.Open "GET", "someURL", False
XMLRequest.send
While XMLRequest.Status <> 200
DoEvents
Wend
If Not objXML.LoadXML(XMLRequest.responseText) Then
Err.Raise objXML.parseError.ErrorCode, , objXML.parseError.reason
End If
End Sub
Ich verwende den Verweis auf Microsoft XML V6.0.
Die XML-Antwort ist ziemlich groß, aber das ist ihr Format:
462
2006-06-01T00:00:00-04:00
2006
6
0.0469
0.0518
0.0581
0.0458
0.0467
0.019
0.0318
0.026425
0.0328
4632006-07-01T00:00:00-04:0020067
0.0446
0.0496
0.056
0.0431
0.0445
0.018
0.0318
0.027216666667
0.0328
Ich möchte die letzten 60 Monate des "B14045"-Satzes und den "Rolling12MonthAvg" für den 12. Monat der letzten 5 Jahre erfassen.
Die Werte sind alle in Ordnung, daher denke ich, dass ich in der Lage sein sollte, den Startmonat (vor 60 Monaten) zu "finden" oder "gehen", indem ich die Attribute "Monat" und "Jahr" verwende, und dann den B14045-Satz in einer inkrementierenden Schleife lesen.
Aber ich kenne die Syntax nicht, um den gewünschten Knoten zu finden und dann nach vorne zu inkrementieren. Ich habe versucht, einige Hilfedateien und andere Themen zu lesen, aber ich kann einfach nicht durchblicken. Jede Hilfe wäre sehr willkommen.