DataFlex
DataFlex
Get FTP Filenames as XML (NLST)
See more FTP Examples
Demonstrates the Chilkat Ftp2.NlstXml method, which sends NLST and returns the matching names in XML form. The only argument is appended literally; an empty string sends a bare NLST and a value like *.txt sends NLST *.txt.
Tip: Code to parse the returned XML can be generated at Chilkat Tools.
Background:
NLST is the lightweight listing command: it returns only names, with none of the sizes, dates, or type information that LIST provides. That makes it fast and simple when a bare list of filenames is all you need — for example to drive a batch of downloads. Wrapping the result as XML gives you a clean, uniform structure to iterate regardless of how the server formats the raw NLST reply.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoFtp
String sXml
String sTemp1
Boolean bTemp1
Move False To iSuccess
// Demonstrates the Ftp2.NlstXml method, which sends NLST and returns the matching names in XML
// form. The only argument is appended literally; an empty string sends a bare NLST.
Get Create (RefClass(cComChilkatFtp2)) To hoFtp
If (Not(IsComObjectCreated(hoFtp))) Begin
Send CreateComObject of hoFtp
End
Set ComHostname Of hoFtp To "ftp.example.com"
Set ComUsername Of hoFtp To "myFtpLogin"
// Normally you would not hard-code the password in source. You should instead obtain it
// from an interactive prompt, environment variable, or a secrets vault.
Set ComPassword Of hoFtp To "myPassword"
Get ComConnect Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComChangeRemoteDir Of hoFtp "public_html" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
// NLST returns names only (no sizes, dates, or types). "*.txt" sends NLST *.txt.
Get ComNlstXml Of hoFtp "*.txt" To sXml
Get ComLastMethodSuccess Of hoFtp To bTemp1
If (bTemp1 = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
Showln sXml
Get ComDisconnect Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
End_Procedure