Fehlersuche in XML-DokumentenWenn man sich mit VBA und den Befehlen der MSXML-Bibliothek von Microsoft auf XML-Dokumente stürzt, um diese zu zerpflücken, kann es leicht vorkommen, dass die Dokumente mit der Load-Methode einfach nicht gelesen werden. Grund ist oft ein Fehler im XML-Dokument - sei es ein nicht der Kodierung entsprechendes Zeichen oder ein fehlendes öffnendes oder schließendes Element. Unsere kleine Hilfsfunktion schafft Abhilfe. Fehler per VBA-Prozedur findenDie folgende VBA-Routine erwartet als Parameter den Pfad und den Namen des XML-Dokuments. Sie gibt das Ergebnis im Direktfenster aus. Dieses kann beispielsweise so aussehen:
Fehlernummer: -1072896760 Fehlerbeschreibung: Im Textinhalt wurde ein ungültiges Zeichen gefunden. Zeile/Spalte: 15 23 auch nicht vor der Erf
Die Prozedur selbst sieht so aus:
Public Sub TestXML(strFile As String) Dim objDocument As MSXML2.DOMDocument Dim objError As MSXML2.IXMLDOMParseError Set objDocument = New MSXML2.DOMDocument If objDocument.Load(strFile) = True Then Debug.Print "Keine Fehler gefunden!" Else With objDocument.parseError Debug.Print "Fehlernummer: ", .ErrorCode Debug.Print "Fehlerbeschreibung: ", .reason Debug.Print "Zeile/Spalte: ", .Line, .linepos Debug.Print .srcText End With End If End Sub |