Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML-to-XML
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...
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Demonstrates the ChilkatPath XML Method

Demonstrates how to use the ChilkatPath method. This example uses the XML sample file pigs.xml. The pigs.xml file contains this content:

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;
result: String;

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

success := xml.LoadXmlFile('pigs.xml');
if (success <> 1) then
  begin
    ShowMessage(xml.LastErrorText);
    Exit;
  end;

//  Get the content of the "species" node for the 1st animal:

result := xml.ChilkatPath('animal|species|*');
//  Output should be "pot belly pig"
Memo1.Lines.Add(result);

//  Get the content of the "type" node for the 2nd animal:
//  Indexing begins at 0.  Therefore, the 2nd direct child having
//  the tag "animal" is at index 1
result := xml.ChilkatPath('animal[1]|type|*');
//  Output should be "House Pig"
Memo1.Lines.Add(result);

//  Find the pig having the name "Nigel" and display the
//  birth date.  To do this, we'll navigate to the node having
//  tag="name" with the exact content "Nigel", then navigate up,
//  and finally navigate back down to the "birth" node:
result := xml.ChilkatPath('/C/name,Nigel|..|birth|*');
//  Output should be "June, 1991"
Memo1.Lines.Add(result);

//  Navigate to the 1st animal's picture and print the filename,
//  description, and caption.
//  The "$" updates the caller's internal pointer to reference
//  the node that is the result of evaluating the path.
//  An empty string is returned for success, and a NULL/nil/0
//  pointer (reference) is returned on failure.
result := xml.ChilkatPath('animal|picture|$');
if (Length(result) = 0 ) then
  begin
    Memo1.Lines.Add('Failed to navigate to animal|picture.');
    Exit;
  end;

//  Display the contents of the file/description/caption child nodes
Memo1.Lines.Add('Picture Info:');
Memo1.Lines.Add(xml.GetChildContent('file'));
Memo1.Lines.Add(xml.GetChildContent('description'));
Memo1.Lines.Add(xml.GetChildContent('caption'));

//  Return back to the root of the XML document:
xml.GetRoot2();

//  Display the value of the "spay-neuter" attribute of the 1st animal:
Memo1.Lines.Add('----');
result := xml.ChilkatPath('animal|gender|(spay-neuter)');
Memo1.Lines.Add(result);


end;

 

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

Mail Component · .NET Email Component · XML Parser