Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) Get FTP Directory Listing as XMLDemonstrates how to call GetXmlDirListing and parse the results.
LOCAL loFtp LOCAL lnSuccess LOCAL lcXmlListing LOCAL loXml LOCAL i LOCAL lnNumEntries LOCAL loXEntry LOCAL lnSz LOCAL loXLastMod LOCAL lnMonth LOCAL lnYear LOCAL lnDay * This example assumes Chilkat Ftp2 to have been previously unlocked. * See Unlock Ftp2 for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Ftp2') loFtp = CreateObject('Chilkat.Ftp2') loFtp.Hostname = "www.my-ftp-server.com" loFtp.Username = "mFtpLogin" loFtp.Password = "myFtpPassword" * Connect to the FTP server. lnSuccess = loFtp.ConnectOnly() IF (lnSuccess <> 1) THEN ? loFtp.LastErrorText RELEASE loFtp CANCEL ENDIF * Authenticate with the FTP server. lnSuccess = loFtp.LoginAfterConnectOnly() IF (lnSuccess <> 1) THEN ? loFtp.LastErrorText RELEASE loFtp CANCEL ENDIF * Retrieve (in XML format) the HOME directory of this FTP account. lcXmlListing = loFtp.GetXmlDirListing("*.*") IF (loFtp.LastMethodSuccess <> 1) THEN ? loFtp.LastErrorText RELEASE loFtp CANCEL ENDIF * Now load the XML and parse it.. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') loXml.LoadXml(lcXmlListing) ? loXml.GetXml() * Iterate over the XML... i = 0 lnNumEntries = loXml.NumChildren DO WHILE i < lnNumEntries loXEntry = loXml.GetChild(i) IF (loXEntry.TagEquals("dir") = 1) THEN ? "Directory: " + loXEntry.Content ELSE lnSz = loXEntry.GetChildIntValue("size") ? "File: " + loXEntry.GetChildContent("name") + ", size: " + STR(lnSz) loXLastMod = loXEntry.FindChild("lastModTime") IF (loXEntry.LastMethodSuccess = 1) THEN lnMonth = loXLastMod.GetAttrValueInt("m") lnYear = loXLastMod.GetAttrValueInt("y") lnDay = loXLastMod.GetAttrValueInt("d") ? " YYYY-MM-DD: " + STR(lnYear) + "-" + STR(lnMonth) + "-" + STR(lnDay) RELEASE loXLastMod ENDIF ENDIF RELEASE loXEntry i = i + 1 ENDDO loFtp.Disconnect() ? "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> * * RELEASE loFtp RELEASE loXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.