I need a (VBA) macro to encode/decode XML in Ebay's Turbo Lister CSV (Comma Separated Value) file format. When exporting listings from Turbo Lister in CSV format, there are four fields that seem to be made up of garbled information ('Attributes', 'ShippingServiceOptions', 'InternationalShippingServiceOptions', 'Ship-To Locations'). In fact these fields are encoded XML tags in base64 format. However I think it may be a 'modified' base64 format, as I saw this post from someone on the internet:
"I want to create a CSV file for TurboLister to import. There are a few columns (such as ) which are standard eBay XML tags in a modified Base64 format (16 bit characters, '%0d%0a' text literal inserted to replace the CRLF pair, standard '=' padding), but there is also an extra character at the end of each. I can encode everything successfully apart from this character.
If the character is correct, then TurboLister will accept the data, but if the character is incorrect, it discards it and you then get the usual error ('Shipping service options inconsistent with Checkout' or something like that). When experimenting with exporting data from TurboLister, the character differs if small changes are made in the shipping prices, which strongly implies that it is some sort of checksum character. Does anyone know how this checksum character is encoded? Cheers."
I hope this helps to illuminate the problem.
The person who posted the message is right, when the Turbo Lister CSV garbled text (XML base64 format) is decoded there is a single number character after the very last XML tag (I have verified this as I found a standalone executable program that encodes/decodes Turbo Lister XML ??" I can supply this if it helps when debugging the macro code). So, when trying to encode the Turbo Lister XML it is essential that this last character is properly encoded as well as the rest of the XML tags.
I have found the solution on the web which discusses the problem, and provides a link to the source code (in PHP) on how to properly encode this last character. Here is the link:
<[url removed, login to view]>
So, to summarise, I need an Excel VBA macro(s)/function(s)/subroutine(s) etc. to encode/decode Turbo Lister XML properly. This is not just standard base64 conversion, it is a variant of base64 as discussed in the references above. When working properly the macro/function/subroutine will allow me to convert the data from my exported Turbo Lister CSV file into encoded XML. It will enable automation of multiple listings without the need for manual editing (cutting and pasting of the encoded XML into the CSV file).
The code must be well structured (and indented etc.), and be heavily commented. This is a must.
I have tried my best to make this posting clear, but if there are any queries then please don’t hesitate to contact me I will be happy to discuss specifics with you.
* * *This broadcast message was sent to all bidders on Friday May 27, 2005 11:42:08 AM:
Thank you to all that have bid, I was tinkering around with it whilst waiting for the bids to end (pulling my hair out!). But finally after much work I have done it myself!! Thanks again.
MS Excell 2002
Win XP Pro