Zip Component, Email Component, Encryption Component ActiveX Control for Zip Compression .NET Components for ASP.NET
ActiveX and .NET Components for Zip Compression, Encryption, Email, XML, S/MIME, HTML Email, Character Encoding, Digital Certificates, FTP, and more ASP Email ActiveX Component


Downloads
.NET 2.0
.NET 1.*
.NET x64
VC++ 6.0
VC++ 7.0
VC++ 8.0
Java
Ruby
Perl 5.8.*
Perl 5.10.*
Python
Bounce ActiveX
Charset ActiveX
Email ActiveX
FTP2 ActiveX
Crypt ActiveX
HTML-to-XML ActiveX
HTTP ActiveX
IMAP ActiveX
MHT ActiveX
MIME ActiveX
RSA ActiveX
Socket ActiveX
Spider ActiveX (free)
String ActiveX (free)
Tar ActiveX
Upload ActiveX (free)
XML ActiveX (free)
XMP ActiveX
Zip ActiveX

Index of Chilkat Blog Posts

March 26, 2008

Convert XFDL base64-gzip to XML string

(This example can be provided in all programming languages supported by Chilkat: C#, ASP, VB.NET, C++, Delphi, Perl, Python, Ruby, Java, etc.)

This Visual Basic 6.0 example converts a base64-gzip .xfdl file to a decompressed XML string.

    ' This code converts Gzip'd XFDL to the uncompressed XML document
    ' contained in a string.  The .xfd document to be converted looks like this:
    '
    ' application/vnd.xfdl;content-encoding="base64-gzip"
    ' H4sIAAAAAAAAC x9adOa2Nbod38FN6fq7T5lEgYFoU86pxBQUQRkcLp1K4VMokwyOfz6u9FnftQk
    ' 3Zon6deuTiLszZ7WvPbaa3/67ybwocJOUi8K/3yHfkTeQXZoRpYXun++41XpA0ni1Af03X8/Vz6N
    ' ...
	
    ' CkString is a freeware String component.  It may be downloaded from:
    ' <a href=\"http://www.chilkatsoft.com/download/ckString.zip\">http://www.chilkatsoft.com/download/ckString.zip</a>
    ‘ Reference Doc: <a href=\"http://www.chilkatsoft.com/refdoc/xCkStringRef.html\">http://www.chilkatsoft.com/refdoc/xCkStringRef.html</a>
    Dim ckStr As New CkString
	
    Dim success As Long
    success = ckStr.LoadFile("test.xfdl", "iso-8859-1")
    If (success = 0) Then
        MsgBox "Failed to load file!"
        Exit Sub
    End If
	
    ‘ Get rid of the 1st line:
    ckStr.ChopBefore CStr(Chr(10))
	
    ‘ The Gzip component is included in the Chilkat Zip ActiveX.
    ‘ It requires a "Chilkat Zip" license to use beyond 30-days.
    ‘ Download link: <a href=\"http://www.chilkatsoft.com/preRelease/ChilkatGzip.zip\">http://www.chilkatsoft.com/preRelease/ChilkatGzip.zip</a>
    ‘ GZip reference: <a href=\"http://www.chilkatsoft.com/refdoc/xGzipRef.html\">http://www.chilkatsoft.com/refdoc/xGzipRef.html</a>
    Dim gzip As New gzip
    success = gzip.UnlockComponent("Anything for 30-day trial")
    If (success = 0) Then
        ‘ Failed to unlock component
        MsgBox gzip.LastErrorHtml
        Exit Sub
    End If
	
    ‘ Decode from base64 to binary (a Variant containing the Gzip bytes)
    Dim binaryData As Variant
    binaryData = gzip.Decode(ckStr.Str, "base64")
	
    ‘ Ungzip:
    Dim xmlBytes As Variant
    xmlBytes = gzip.UncompressMemory(binaryData)
    ‘ We now have the XML bytes (a Variant containing a byte array)
    ‘ You might be tempted to assign this to a string — but don’t –
    ‘ you don’t yet know the character encoding of the XML.  If it’s non-ANSI,
    ‘ you’d ruin the document.
	
    ‘ Load the XML document into a CkString object:
    Dim xmlStringObj As New CkString
    ‘ The LoadXmlDoc method parses just enough of the XML bytes to get the charset.
    ‘ It looks for the XML declaration, such as this:
    ‘ <?xml version="1.0" encoding="utf-8"?>
    ‘ If not found, it assumes ANSI.
    ‘ This allows the XML bytes to be interpreted correctly according to the
    ‘ character encoding used.
    xmlStringObj.LoadXmlDoc xmlBytes
	
    ‘ Now get the XML document as a String:
    Dim xmlString As String
    xmlString = xmlStringObj.Str
	
    Text1.Text = xmlString


Privacy Statement. Copyright 2000-2008 Chilkat Software, Inc. All rights reserved.
Send feedback to support@chilkatsoft.com

Components for Microsoft Windows XP, 2000, 2003 Server, Vista, and Windows 95/98/NT4.