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) XML Sort by Tag

Demonstrates the SortByTag method.

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

<root>
    <fruits>
        <apple>
            <fuji>blah</fuji>
            <gala>blah</gala>
            <grannySmith>blah</grannySmith>
            <honeycrisp>blah</honeycrisp>
            <mcIntosh>blah</mcIntosh>
        </apple>
        <banana>blah</banana>
        <blackberry>blah</blackberry>
        <blueberry>blah</blueberry>
        <orange>blah</orange>
        <pear>blah</pear>
    </fruits>
</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;
xSortRoot: CHILKATXMLLib_TLB.IChilkatXml;
success: Integer;
bAscending: Integer;

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

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

//  Sort the direct children under the "fruits" node by tag:
xSortRoot := xml.FindChild('fruits');

//  Sort in ascending order.
bAscending := 1;
xSortRoot.SortByTag(bAscending);

//  Show the result:
Memo1.Lines.Add(xml.GetXml());

//  
<root>
    <fruits>
        <apple>
            <grannySmith>blah</grannySmith>
            <gala>blah</gala>
            <fuji>blah</fuji>
            <mcIntosh>blah</mcIntosh>
            <honeycrisp>blah</honeycrisp>
        </apple>
        <banana>blah</banana>
        <blackberry>blah</blackberry>
        <blueberry>blah</blueberry>
        <orange>blah</orange>
        <pear>blah</pear>
    </fruits>
</root>
// Sort the direct children under the "apple" node: xSortRoot.FindChild2('apple'); xSortRoot.SortByTag(bAscending); Memo1.Lines.Add(xml.GetXml()); //
<root>
    <fruits>
        <apple>
            <fuji>blah</fuji>
            <gala>blah</gala>
            <grannySmith>blah</grannySmith>
            <honeycrisp>blah</honeycrisp>
            <mcIntosh>blah</mcIntosh>
        </apple>
        <banana>blah</banana>
        <blackberry>blah</blackberry>
        <blueberry>blah</blueberry>
        <orange>blah</orange>
        <pear>blah</pear>
    </fruits>
</root>
end;
 

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

Mail Component · .NET Email Component · XML Parser