![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Delphi ActiveX) Demonstrates the ChilkatPath XML MethodDemonstrates how to use the ChilkatPath method. This example uses the XML sample file pigs.xml. The pigs.xml file contains this content:
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var xml: TChilkatXml; success: Integer; result: WideString; begin xml := TChilkatXml.Create(Self); success := xml.LoadXmlFile('qa_data/xml/pigs.xml'); if (success <> 1) then begin Memo1.Lines.Add(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 (xml.LastMethodSuccess <> 1) 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-2025 Chilkat Software, Inc. All Rights Reserved.