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
(DataFlex) Demonstrate the XML FindNextRecord MethodImagine we have an XML file as follows: <CompleteMultipartUpload> <Part> <PartNumber>1</PartNumber> <ETag>abc</ETag> </Part> <Part> <PartNumber>2</PartNumber> <ETag>def</ETag> </Part> <Part> <PartNumber>3</PartNumber> <ETag>ghi</ETag> </Part> </CompleteMultipartUpload>We want to find the record where PartNumber = 2. To do so, we simply position ourselves at the first "Part" tag, and then call FindNextRecord. (See below..)
Use ChilkatAx-win32.pkg Procedure Test Handle hoXml Boolean iSuccess Variant vFoundRec Handle hoFoundRec String sTemp1 Boolean bTemp1 Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComLoadXmlFile Of hoXml "qa_data/xml/multipartUpload.xml" To iSuccess // Position ourselves at the 1st record. Get ComGetChild2 Of hoXml 0 To iSuccess Get ComFindNextRecord Of hoXml "PartNumber" "2" To vFoundRec If (IsComObject(vFoundRec)) Begin Get Create (RefClass(cComChilkatXml)) To hoFoundRec Set pvComObject Of hoFoundRec To vFoundRec End Get ComLastMethodSuccess Of hoXml To bTemp1 If (bTemp1 = True) Begin Showln "Found the record where PartNumber = 2." Get ComGetXml Of hoFoundRec To sTemp1 Showln sTemp1 // Let's examine the ETag for this record... Get ComGetChildContent Of hoFoundRec "ETag" To sTemp1 Showln "ETag for PartNumber 2 = " sTemp1 Send Destroy of hoFoundRec End Else Begin Showln "No record exists where PartNumber = 2." End // What if we want to find the record where ETag = "abc"? Get ComFindNextRecord Of hoXml "ETag" "abc" To vFoundRec If (IsComObject(vFoundRec)) Begin Get Create (RefClass(cComChilkatXml)) To hoFoundRec Set pvComObject Of hoFoundRec To vFoundRec End Get ComLastMethodSuccess Of hoXml To bTemp1 If (bTemp1 = True) Begin Showln "Found the record where ETag = abc" Get ComGetXml Of hoFoundRec To sTemp1 Showln sTemp1 // Let's examine the PartNumber for this record... Get ComGetChildContent Of hoFoundRec "PartNumber" To sTemp1 Showln "Part number for Etag(abc) = " sTemp1 Send Destroy of hoFoundRec End Else Begin Showln "No record exists where ETag = abc." End // Go back to the XML root.. Send ComGetRoot2 To hoXml End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.