Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

(Delphi) Compress XML Content

Demonstrates how to compress the content of an XML node. Note: This does not compress the node's children, only the text content.

The input XML, available at http://www.chilkatsoft.com/data/compress1.xml, is this:

<root>
    <fox>This is content that will be compressed.
		0The quick brown fox jumps over the lazy dog
		1The quick brown fox jumps over the lazy dog
		2The quick brown fox jumps over the lazy dog
		3The quick brown fox jumps over the lazy dog
		4The quick brown fox jumps over the lazy dog
		5The quick brown fox jumps over the lazy dog
		6The quick brown fox jumps over the lazy dog
		7The quick brown fox jumps over the lazy dog
		8The quick brown fox jumps over the lazy dog
		9The quick brown fox jumps over the lazy dog
        <child1>
            <grandchild>This is not compressed.</grandchild>
        </child1>
    </fox>
</root>

Download Chilkat XML ActiveX

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATXMLLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
xml: CHILKATXMLLib_TLB.IChilkatXml;
success: Integer;

begin
xml := TChilkatXml.Create(Self).ControlInterface;

//  The sample input XML is available at http://www.chilkatsoft.com/data/compress1.xml
success := xml.LoadXmlFile('compress1.xml');
if (success <> 1) then
  begin
    Memo1.Lines.Add(xml.LastErrorText);
    Exit;
  end;

//  Navigate to the "fox" node, which is the 1st child:
xml.FirstChild2();

//  Zip compress the content:
xml.ZipContent();

//  Navigate back to the root:
xml.GetRoot2();

//  Examine the new XML document:
Memo1.Lines.Add(xml.GetXml());

//  This is the XML w/ the compressed content in Base64 encoded format:
//  
<root>
    <fox><![CDATA[lcvbEYIwFIThZ5ixh63A8QZqHzTA5UiiIQeTIGr1xhJ2Zp/++bYxNiKvV5/EJyTTJqzWOXSS4zQH
iVGG7aYsil1jBM/F9g90QVePm75xX6Y5Ql8S8lfg2u8Hg45/vyf9gfRH0p9IX5G+Jv2Z9BfSXwn/
Aw==
]]>
        <child1>
            <grandchild>This is not compressed.</grandchild>
        </child1>
    </fox>
</root>
// Now uncompress and show that the original content was restored: xml.FirstChild2(); xml.UnzipContent(); xml.GetRoot2(); Memo1.Lines.Add(xml.GetXml()); end;
 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser