Here you go - in case useful to anyone.
Parses an XDF file into a similar format as WinOLS export. In my case, I wanted to reconcile a couple of different maps created on different products.
Just a bit of simple vbscript - I ran it via excel, but could equally easily be run via cscript on a command prompt.
Option Explicit
Sub RunMe()
Dim infileName, exfileName As String
Dim thisElement As IXMLDOMElement
Dim exfile As TextStream
'Define the import and export filenames
infileName = "c:\somepath\4D1907558B.xdf"
exfileName = "c:\somepath\4D1907558B.csv"
'Open the export file for appending (create if doesn't exist)
With New FileSystemObject
Set exfile = .OpenTextFile(exfileName, ForAppending, True)
End With
On Error GoTo error_handler
'Open the xml file and loop at the top level
With New MSXML2.DOMDocument
If Not .Load(infileName) Then Err.Raise vbObjectError, "XDF Parser", "Unable to open the source file '" & infileName & "'"
For Each thisElement In .getElementsByTagName("XDFTABLE")
exfile.WriteLine """$" & Mid(thisElement.getAttribute("uniqueid"), 3, 5) & """;""" & thisElement.getElementsByTagName("title").Item(0).Text & """;""" & thisElement.SelectSingleNode("XDFAXIS[@id=""x""]/indexcount").Text & "x" & thisElement.SelectSingleNode("XDFAXIS[@id=""y""]/indexcount").Text & """"
Next thisElement
End With
GoTo EndSub
error_handler:
MsgBox Err.Description, vbCritical
EndSub:
exfile.Close
End Sub