Ich bin am Verzweifeln
Wenn man die XML-Datei ("https://www.db-markets.com/dbmserver/portal/FxFixings/09-09-2015/USD.xml") im Browser (Chrome) öffnet. Dann sieht sie so aus:
Wenn ich sie dann manuell abspeichere, sieht sie genau so aus, wie ich sie dort im Browser angezeigt bekomme. Und wenn ich mit dieser manuell abgespeicherten Datei in meinem VBA-Makro weiterarbeite funktioniert auch alles und ich habe keine Probleme. Nun will ich diese Datei aber nicht abspeichern, sondern sie mit dem HTML-Link direkt im Code laden, was ja normalerweise auch kein Problem sein sollte. async ist auf false gestellt, doch trotzdem werden die XML-Informationen nicht vollständig geladen. Es fehlt dann immer der letzte Knoten mit den Attributen von Cube "currency", "valuedate" etc.
Woran kann dies liegen? Ich habe schon versuch das Makro an der Stelle zu stoppen und dem Laden noch mehr Zeit zu geben, was allerdings Blödsinn ist, da dafür ja schon async = false sorgt und die Fehlerüberprüfung wird ja auch durchgeführt und meldet keine Fehler. Zur Kontrolle lasse ich das geladene XML-File nach der Fehlerüberprüfung abspeichern. Wenn ich diese abgespeicherte Version dann öffne, ist es in der Tat so, dass der Knoten fehlt. Auch wenn ich diese gespeicherte Datei im Browser öffne. Es wird also definitiv dieser letzte Knoten nicht mitgeladen. Ich verzweifel. Ich hoffe, es hat jemand einen entscheidenden Tipp für mich. Vielen Dank schonmal!
DAMN IT!
Ich hab es selbst gelöst...
Einfach im Link "https://www.db-markets.com/dbmserver/portal/FxFixings/09-09-2015/USD.xml" das .xml weglassen.
Also so:
db-markets.com/dbmserver/portal/FxFixings/09-09-2015/USD
Nun sag mir doch bitte aber einer, wie das kommt?!?! Kann mir das nicht erklären...
Wenn man die XML-Datei ("https://www.db-markets.com/dbmserver/portal/FxFixings/09-09-2015/USD.xml") im Browser (Chrome) öffnet. Dann sieht sie so aus:
Wenn ich sie dann manuell abspeichere, sieht sie genau so aus, wie ich sie dort im Browser angezeigt bekomme. Und wenn ich mit dieser manuell abgespeicherten Datei in meinem VBA-Makro weiterarbeite funktioniert auch alles und ich habe keine Probleme. Nun will ich diese Datei aber nicht abspeichern, sondern sie mit dem HTML-Link direkt im Code laden, was ja normalerweise auch kein Problem sein sollte. async ist auf false gestellt, doch trotzdem werden die XML-Informationen nicht vollständig geladen. Es fehlt dann immer der letzte Knoten mit den Attributen von Cube "currency", "valuedate" etc.
Woran kann dies liegen? Ich habe schon versuch das Makro an der Stelle zu stoppen und dem Laden noch mehr Zeit zu geben, was allerdings Blödsinn ist, da dafür ja schon async = false sorgt und die Fehlerüberprüfung wird ja auch durchgeführt und meldet keine Fehler. Zur Kontrolle lasse ich das geladene XML-File nach der Fehlerüberprüfung abspeichern. Wenn ich diese abgespeicherte Version dann öffne, ist es in der Tat so, dass der Knoten fehlt. Auch wenn ich diese gespeicherte Datei im Browser öffne. Es wird also definitiv dieser letzte Knoten nicht mitgeladen. Ich verzweifel. Ich hoffe, es hat jemand einen entscheidenden Tipp für mich. Vielen Dank schonmal!
Quellcode
- Const XMLDateiMitPfad As String = "https://www.db-markets.com/dbmserver/portal/FxFixings/09-09-2015/USD.xml"
- Private Sub XMLDateiAuslesen()
- Dim xmlDoc As New MSXML2.DOMDocument
- Dim xmlKnoten As MSXML2.IXMLDOMNode
- Dim xpathKnoten As String
- Dim xpathAttrib As String
- xmlDoc.async = False
- xmlDoc.validateOnParse = True ' Auf Fehler prüfen
- xmlDoc.Load (XMLDateiMitPfad) ' XML-Datei laden
- If xmlDoc.Load(XMLDateiMitPfad) = False Then
- MsgBox "XML-Datei: '" & XMLDateiMitPfad & "' wurde nicht gefunden"
- Exit Sub
- ElseIf xmlDoc.parseError = True Then
- MsgBox "XML-Datei: '" & XMLDateiMitPfad & "' hat fehlerhaften Aufbau (ist nicht 'wohlgeformt')"
- Exit Sub
- End If
- 'Zum Überprüfen des Inhalts, speichere ich die Datei ab
- xmlDoc.Save ("N:\testusd.xml")
- 'hier geht der Code noch weiter... (ist aber für das Problem nicht relevant)
DAMN IT!
Ich hab es selbst gelöst...
Einfach im Link "https://www.db-markets.com/dbmserver/portal/FxFixings/09-09-2015/USD.xml" das .xml weglassen.
Also so:
db-markets.com/dbmserver/portal/FxFixings/09-09-2015/USD
Nun sag mir doch bitte aber einer, wie das kommt?!?! Kann mir das nicht erklären...
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dennis81“ ()