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
(PureBasic) XML Sort by ContentDemonstrates the SortByContent method. The input XML, available at http://www.chilkatsoft.com/data/fruitSort2.xml, is this: <root> <fruits> <apples> <apple>fuji</apple> <apple>gala</apple> <apple>granny smith</apple> <apple>honeycrisp</apple> <apple>mcintosh</apple> </apples> <fruit>banana</fruit> <fruit>blackberry</fruit> <fruit>blueberry</fruit> <fruit>orange</fruit> <fruit>pear</fruit> </fruits> </root>
IncludeFile "CkXml.pb" Procedure ChilkatExample() xml.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf xSortRoot.i success.i ; The sample input XML is available at http://www.chilkatsoft.com/data/fruitSort2.xml success = CkXml::ckLoadXmlFile(xml,"fruitSort2.xml") If success <> 1 Debug CkXml::ckLastErrorText(xml) CkXml::ckDispose(xml) ProcedureReturn EndIf ; Sort the direct children under the "fruits" node by tag: xSortRoot = CkXml::ckFindChild(xml,"fruits") ; Sort in ascending order. bAscending.i = 1 CkXml::ckSortByContent(xSortRoot,bAscending) ; Show the result: Debug CkXml::ckGetXml(xml) ; Note: The "apples" node contains child nodes, but its ; text content is 0-length (empty). Therefore, when sorting in ; ascending order, it will be positioned before the direct ; children containing non-empty content. ; <root> ; <fruits> ; <apples> ; <apple>granny smith</apple> ; <apple>gala</apple> ; <apple>fuji</apple> ; <apple>mcintosh</apple> ; <apple>honeycrisp</apple> ; </apples> ; <fruit>banana</fruit> ; <fruit>blackberry</fruit> ; <fruit>blueberry</fruit> ; <fruit>orange</fruit> ; <fruit>pear</fruit> ; </fruits> ; </root> ; Sort the direct children under the "apples" node: success = CkXml::ckFindChild2(xSortRoot,"apples") CkXml::ckSortByContent(xSortRoot,bAscending) Debug CkXml::ckGetXml(xml) ; <root> ; <fruits> ; <apples> ; <apple>fuji</apple> ; <apple>gala</apple> ; <apple>granny smith</apple> ; <apple>honeycrisp</apple> ; <apple>mcintosh</apple> ; </apples> ; <fruit>banana</fruit> ; <fruit>blackberry</fruit> ; <fruit>blueberry</fruit> ; <fruit>orange</fruit> ; <fruit>pear</fruit> ; </fruits> ; </root> CkXml::ckDispose(xSortRoot) CkXml::ckDispose(xml) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.