Visual C++ Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C++ Examples

CkString
Byte Array
Bounced Mail
Bz2
Character Encoding
CSV
DH Key Exchange
DKIM/DomainKeys
Digital Certificates
Digital Signatures
DSA
Email
Email Object
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
XMP
Zip Compression


More Examples...
Amazon S3
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

 

 

 

 

 

 

 

 

FTP XML Directory Listing / Download Most Recently Modified Files

Demonstrates how to retrieve a directory listing in XML format, sort it by last-modified date, and download the 5 most recently modified files.

Note: This example relies upon a new feature added to the GetXmlDirListing method. Namely, the resultant XML includes a "full" attribute with a date/time that is in a sortable format. This feature is available in the pre-release, or in new versions released after 20-May-2008.

Downloads:

MS Windows Visual C/C++ Libraries
Linux/CentOS C/C++ Libraries
MAC OS X C/C++ Libraries
Solaris C/C++ Libraries
C++ Builder Libraries
FreeBSD C++ Libraries
HP-UX C++ Libraries
BlackBerry QNX C++ Libraries
#include <CkFtp2.h>
#include <CkXml.h>

void ChilkatSample(void)
    {
    CkFtp2 ftp;

    bool success;

    //  Any string unlocks the component for the 1st 30-days.
    success = ftp.UnlockComponent("Anything for 30-day trial");
    if (success != true) {
        printf("%s\n",ftp.lastErrorText());
        return;
    }

    ftp.put_Hostname("ftp.chilkatsoft.com");
    ftp.put_Username("myLogin");
    ftp.put_Password("myPassword");

    //  Connect and login to the FTP server.
    success = ftp.Connect();
    if (success != true) {
        printf("%s\n",ftp.lastErrorText());
        return;
    }

    //  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.
    const char * strXml;
    strXml = ftp.getXmlDirListing("*.asp");
    if (strXml == 0 ) {
        printf("%s\n",ftp.lastErrorText());
        return;
    }

    //  Load the XML directory listing into a Chilkat XML object:
    CkXml xml;
    xml.LoadXml(strXml);

    //  Sort by a record attribute:
    bool ascending;
    ascending = false;
    xml.SortRecordsByAttribute("lastModTime","full",ascending);

    //  Download the 5 most recent files:
    long n;
    n = xml.get_NumChildren();
    if (n > 5) {
        n = 5;
    }

    CkXml *child = 0;
    const char * filename;
    long i;
    for (i = 0; i <= n - 1; i++) {

        child = xml.GetChild(i);
        filename = child->getChildContent("name");
        printf("%s\n",filename);

        success = ftp.GetFile(filename,filename);
        if (success != true) {
            printf("%s\n",ftp.lastErrorText());
            break;
        }

        delete child;
    }

    //  The full sorted XML may be obtained like this:
    strXml = xml.getXml();

    ftp.Disconnect();
    }

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Mail Component · XML Parser