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) Find XML Element where Attribute = ValueSee more XML ExamplesFinds an XML element at a particular location where an attribute has a specified value.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoXml String sNotUsed String sTemp1 Boolean bTemp1 // We have the following XML and wish to find the value of the time attribute where msg = "alert-from". // <cdr id="4e5d3e7f41bf6201ad81000c29703270" e164="6207"> // <user> // <grp name="wfln" mode="active"/> // </user> // <event msg="setup-to" time="287069" e164="5034"/> // <event msg="alert-from" time="287069" e164="5034"/> // <event msg="rel-to" time="287079" e164="5034"/> // </cdr> // First, build the above XML: Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Set ComTag Of hoXml To "cdr" Get ComAddAttribute Of hoXml "id" "4e5d3e7f41bf6201ad81000c29703270" To iSuccess Get ComAddAttribute Of hoXml "e164" "6207" To iSuccess Get ComUpdateAttrAt Of hoXml "user|grp" True "name" "wfln" To iSuccess Get ComUpdateAttrAt Of hoXml "user|grp" True "mode" "active" To iSuccess Get ComUpdateAttrAt Of hoXml "event" True "msg" "setup-to" To iSuccess Get ComUpdateAttrAt Of hoXml "event" True "time" "287069" To iSuccess Get ComUpdateAttrAt Of hoXml "event" True "e164" "5034" To iSuccess Get ComUpdateAttrAt Of hoXml "event[1]" True "msg" "alert-from" To iSuccess Get ComUpdateAttrAt Of hoXml "event[1]" True "time" "287069" To iSuccess Get ComUpdateAttrAt Of hoXml "event[1]" True "e164" "5034" To iSuccess Get ComUpdateAttrAt Of hoXml "event[2]" True "msg" "rel-to" To iSuccess Get ComUpdateAttrAt Of hoXml "event[2]" True "time" "287079" To iSuccess Get ComUpdateAttrAt Of hoXml "event[2]" True "e164" "5034" To iSuccess // Show that we have the above XML Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 // Find the element where msg = "alert-from" // This updates the xml object's reference to the found element (if successful). Get ComChilkatPath Of hoXml "/A/event,msg,alert-from|$" To sNotUsed Get ComLastMethodSuccess Of hoXml To bTemp1 If (bTemp1 = False) Begin Showln "Not found." Procedure_Return End // Get the value of the "time" attribute. Get ComGetAttrValue Of hoXml "time" To sTemp1 Showln "time = " sTemp1 // Restore the xml object's internal reference to the root of the XML document Send ComGetRoot2 To hoXml End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.