This might help a little more, I added a timer to the form load to automatically check for new XML files ~ every 60 seconds; so far it seems reliable and stable, but I am sure that it could be improved upon. You could also just as easily replace the "move" routine with a "delete" routine; I needed to keep the orginal XML for back up, other wise I would just delete it on the fly. Hope this is of some use...
Sub Form_Load()
Me.TimerInterval = 60000 'Calls the "Sub Form_Timer()" routine every 60 seconds
End Sub
Sub Form_Timer()
Set fs = Application.FileSearch
With fs
.LookIn = "E:\diagnostics" 'Looks in this directory for XML files
.FileName = "*.xml" 'Sets the pattern to only find files with extension .xml
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count 'Start of loop stops when count is = to number of XML files found
Dim item As Variant
item = .FoundFiles.item(i)
Const STRUCTURE_AND_DATA = 2 'Appends data
On Error Resume Next 'In case a invalid XML documet is placed in E:/Diagnostics Folder, it will be moved to E:/Diagnostics2
Application.ImportXML DataSource:=item, ImportOptions:=STRUCTURE_AND_DATA 'Sets up the ImportXML paramaters; "item" estabalashes the file path, ImportOptions is set to Append data
Dim js
Set js = CreateObject("Scripting.FileSystemObject"

'Establishes FileSystemObjet required for the MoveFile
js.MoveFile item, "E:/diagnostics2/" 'Moves files from Diagnostics to Diagnostics2 after being imported into Access
Next i
End If
End With
End Sub
Billy Munger