PureBasic
PureBasic
Download Directory Tree Listing as XML
See more FTP Examples
Downloads a complete remote directory tree listing in XML format. The directory tree in XML format looks like this:
<?xml version="1.0" encoding="utf-8" ?>
<dirTree>
<file>bookstore.xml</file>
<file>hamlet.xml</file>
<file>hamlet.zip</file>
<file>japanese.xml</file>
<file>New Text Document (2).txt</file>
<file>New Text Document.txt</file>
<file>nutrition.xml</file>
<file>pigs.xml</file>
<file>plants.xml</file>
<dir name="subdir1">
<file>box.ico</file>
<file>Setup.exe</file>
<dir name="a">
<file>dude.gif</file>
<file>HelloWorld123.txt</file>
</dir>
</dir>
<dir name="subdir2">
<file>scream.jpg</file>
</dir>
</dirTree>
Chilkat PureBasic Downloads
IncludeFile "CkFtp2.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
ftp.i = CkFtp2::ckCreate()
If ftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkFtp2::setCkHostname(ftp, "ftp.something.com")
CkFtp2::setCkUsername(ftp, "test")
CkFtp2::setCkPassword(ftp, "test")
; Connect and login to the FTP server.
success = CkFtp2::ckConnect(ftp)
If success <> 1
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
; Recursively download the listings for the complete
; remote directory tree at the current remote dir.
; In this case, we haven't called ChangeRemoteDir,
; so the current remote dir is the root directory of the
; FTP account.
strXml.s
strXml = CkFtp2::ckDirTreeXml(ftp)
Debug strXml
success = CkFtp2::ckDisconnect(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndProcedure