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
(Ruby) Get FTP Directory Listing as XMLDemonstrates how to call GetXmlDirListing and parse the results.
require 'chilkat' # This example assumes Chilkat Ftp2 to have been previously unlocked. # See Unlock Ftp2 for sample code. ftp = Chilkat::CkFtp2.new() ftp.put_Hostname("www.my-ftp-server.com") ftp.put_Username("mFtpLogin") ftp.put_Password("myFtpPassword") # Connect to the FTP server. success = ftp.ConnectOnly() if (success != true) print ftp.lastErrorText() + "\n"; exit end # Authenticate with the FTP server. success = ftp.LoginAfterConnectOnly() if (success != true) print ftp.lastErrorText() + "\n"; exit end # Retrieve (in XML format) the HOME directory of this FTP account. xmlListing = ftp.getXmlDirListing("*.*") if (ftp.get_LastMethodSuccess() != true) print ftp.lastErrorText() + "\n"; exit end # Now load the XML and parse it.. xml = Chilkat::CkXml.new() xml.LoadXml(xmlListing) print xml.getXml() + "\n"; # Iterate over the XML... i = 0 numEntries = xml.get_NumChildren() while i < numEntries # xEntry is a CkXml xEntry = xml.GetChild(i) if (xEntry.TagEquals("dir") == true) print "Directory: " + xEntry.content() + "\n"; else sz = xEntry.GetChildIntValue("size") print "File: " + xEntry.getChildContent("name") + ", size: " + sz.to_s() + "\n"; # xLastMod is a CkXml xLastMod = xEntry.FindChild("lastModTime") if (xEntry.get_LastMethodSuccess() == true) month = xLastMod.GetAttrValueInt("m") year = xLastMod.GetAttrValueInt("y") day = xLastMod.GetAttrValueInt("d") print " YYYY-MM-DD: " + year.to_s() + "-" + month.to_s() + "-" + day.to_s() + "\n"; end end i = i + 1 end ftp.Disconnect() print "Success." + "\n"; # 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> # # |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.