Sample code for 30+ languages & platforms
Visual Basic 6.0

Get FTP Directory Listing as XML

See more FTP Examples

Demonstrates how to call GetXmlDirListing and parse the results.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example assumes Chilkat Ftp2 to have been previously unlocked.
' See Unlock Ftp2 for sample code.

Dim ftp As New ChilkatFtp2

ftp.Hostname = "www.my-ftp-server.com"
ftp.Username = "mFtpLogin"
ftp.Password = "myFtpPassword"

' Connect to the FTP server.
success = ftp.ConnectOnly()
If (success <> 1) Then
    Debug.Print ftp.LastErrorText
    Exit Sub
End If

' Authenticate with the FTP server.
success = ftp.LoginAfterConnectOnly()
If (success <> 1) Then
    Debug.Print ftp.LastErrorText
    Exit Sub
End If

' Retrieve (in XML format) the HOME directory of this FTP account.
Dim xmlListing As String
xmlListing = ftp.GetXmlDirListing("*.*")
If (ftp.LastMethodSuccess <> 1) Then
    Debug.Print ftp.LastErrorText
    Exit Sub
End If

' Now load the XML and parse it..
Dim xml As New ChilkatXml
success = xml.LoadXml(xmlListing)
Debug.Print xml.GetXml()

' Iterate over the XML...
Dim i As Long
i = 0
Dim numEntries As Long
numEntries = xml.NumChildren
Do While i < numEntries
    Dim xEntry As ChilkatXml
    Set xEntry = xml.GetChild(i)
    If (xEntry.TagEquals("dir") = 1) Then
        Debug.Print "Directory: " & xEntry.Content
    Else
        Dim sz As Long
        sz = xEntry.GetChildIntValue("size")
        Debug.Print "File: " & xEntry.GetChildContent("name") & ", size: " & sz
        Dim xLastMod As ChilkatXml
        Set xLastMod = xEntry.FindChild("lastModTime")
        If (xEntry.LastMethodSuccess = 1) Then
            Dim month As Long
            month = xLastMod.GetAttrValueInt("m")
            Dim year As Long
            year = xLastMod.GetAttrValueInt("y")
            Dim day As Long
            day = xLastMod.GetAttrValueInt("d")
            Debug.Print "    YYYY-MM-DD: " & year & "-" & month & "-" & day

        End If

    End If

    i = i + 1
Loop

success = ftp.Disconnect()

Debug.Print "Success."

' Sample XML directory listing:
' <?xml version="1.0" encoding="utf-8" ?>
' <remoteDir>
'     <dir>Desktop</dir>
'     <dir>Documents</dir>
'     <dir>Downloads</dir>
'     <dir>Music</dir>
'     <dir>Pictures</dir>
'     <dir>Public</dir>
'     <dir>Templates</dir>
'     <dir>Videos</dir>
'     <file>
'         <name>c.py</name>
'         <size>1244</size>
'         <lastModTime full="20151009-000000" y="2015" d="9" m="10" hh="0" mm="0" ss="0" />
'     </file>
'     <file>
'         <name>cacerts_linux</name>
'         <size>177207</size>
'         <lastModTime full="20140915-000000" y="2014" d="15" m="9" hh="0" mm="0" ss="0" />
'     </file>
'     <file>
'         <name>empty.txt</name>
'         <size>0</size>
'         <lastModTime full="20150917-000000" y="2015" d="17" m="9" hh="0" mm="0" ss="0" />
'     </file>
'     <file>
'         <name>hamlet.xml</name>
'         <size>279658</size>
'         <lastModTime full="20160917-084100" y="2016" d="17" m="9" hh="8" mm="41" ss="0" />
'     </file>
' </remoteDir>
' 
'