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
(Objective-C) Xero Export Accounts to CSVDemonstrates how to export Accounts data to a CSV. Note: Requires Chilkat v9.5.0.64 or greater.
#import <CkoRest.h> #import <CkoStringBuilder.h> #import <CkoCsv.h> #import <CkoXml.h> // Note: Requires Chilkat v9.5.0.64 or greater. // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoRest *rest = [[CkoRest alloc] init]; BOOL success; // Before sending REST API calls, the REST object needs to be // initialized for OAuth1. // See Xero 2-Legged OAuth1 Setup for sample code. // Assuming the REST object's OAuth1 authenticator is setup, and the initial // connection was made, we may now send REST HTTP requests.. // Get the full list of accounts. CkoStringBuilder *sbXml = [[CkoStringBuilder alloc] init]; success = [rest FullRequestNoBodySb: @"GET" uriPath: @"/api.xro/2.0/Accounts" sb: sbXml]; if (success != YES) { NSLog(@"%@",rest.LastErrorText); return; } // A 200 response is expected for actual success. if ([rest.ResponseStatusCode intValue] != 200) { NSLog(@"%@",[sbXml GetAsString]); return; } // Build a CSV containing a few Account fields. CkoCsv *csv = [[CkoCsv alloc] init]; csv.HasColumnNames = YES; [csv SetColumnName: [NSNumber numberWithInt: 0] columnName: @"AccountID"]; [csv SetColumnName: [NSNumber numberWithInt: 1] columnName: @"Name"]; [csv SetColumnName: [NSNumber numberWithInt: 2] columnName: @"Code"]; [csv SetColumnName: [NSNumber numberWithInt: 3] columnName: @"EnablePaymentsToAccount"]; // Iterate over the accounts and build the CSV. BOOL bAutoTrim = NO; CkoXml *xml = [[CkoXml alloc] init]; [xml LoadSb: sbXml autoTrim: bAutoTrim]; int numAccounts = [[xml NumChildrenAt: @"Accounts"] intValue]; int i = 0; while (i < numAccounts) { xml.I = [NSNumber numberWithInt: i]; [csv SetCellByName: [NSNumber numberWithInt: i] columnName: @"AccountID" content: [xml GetChildContent: @"Accounts|Account[i]|AccountID"]]; [csv SetCellByName: [NSNumber numberWithInt: i] columnName: @"Name" content: [xml GetChildContent: @"Accounts|Account[i]|Name"]]; [csv SetCellByName: [NSNumber numberWithInt: i] columnName: @"Code" content: [xml GetChildContent: @"Accounts|Account[i]|Code"]]; [csv SetCellByName: [NSNumber numberWithInt: i] columnName: @"EnablePaymentsToAccount" content: [xml GetChildContent: @"Accounts|Account[i]|EnablePaymentsToAccount"]]; i = i + 1; } // Examine the CSV. NSLog(@"%@",[csv SaveToString]); // Save the CSV to a file. [csv SaveFile: @"qa_output/xero_accounts.csv"]; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.