Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Xml TagPath Property ExplainedDemonstrates and explains the TagPath property. Note: The TagPath property was introduced in Chilkat v9.5.0.77
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Xml; ... procedure TForm1.Button1Click(Sender: TObject); var xml: HCkXml; success: Boolean; found: Boolean; tagPath: PWideChar; begin xml := CkXml_Create(); // Load some XML: success := CkXml_LoadXml(xml,'<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>'); Memo1.Lines.Add(CkXml__getXml(xml)); // This is what we have: // <?xml version="1.0" encoding="utf-8"?> // <a> // <bbb> // <ccc> // <ddd>1</ddd> // <ddd> // <z>zzz</z> // </ddd> // <ddd>3</ddd> // </ccc> // </bbb> // </a> // The TagPath property is read-only property that returns the unique path to the // node from the document root. // For example: found := CkXml_SearchForTag2(xml,xml,'z'); if (found = True) then begin // We found a node having the tag "z". // The TagPath property tells us the location in the document. tagPath := CkXml__tagPath(xml); Memo1.Lines.Add(tagPath); // The tagPath is bbb|ccc|ddd[1]|z // If we to back to the document root, we can get to the given node via the tagPath. CkXml_GetRoot2(xml); Memo1.Lines.Add(CkXml__tag(xml)); // The root tag is "a". // Follow the tagPath to the "z" node: found := CkXml_FindChild2(xml,tagPath); Memo1.Lines.Add('found = ' + IntToStr(Ord(found)) + ', tag = ' + CkXml__tag(xml)); // We are now at "z". end; CkXml_Dispose(xml); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.