DataFlex
DataFlex
XML Sort by Tag
See more XML Examples
Demonstrates the SortByTag method.The input XML, available at http://www.chilkatsoft.com/data/fruitSort1.xml, is this:
<root>
<fruits>
<apple>
<fuji>blah</fuji>
<gala>blah</gala>
<grannySmith>blah</grannySmith>
<honeycrisp>blah</honeycrisp>
<mcIntosh>blah</mcIntosh>
</apple>
<banana>blah</banana>
<blackberry>blah</blackberry>
<blueberry>blah</blueberry>
<orange>blah</orange>
<pear>blah</pear>
</fruits>
</root>
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoXml
Variant vXSortRoot
Handle hoXSortRoot
Boolean iBAscending
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatXml)) To hoXml
If (Not(IsComObjectCreated(hoXml))) Begin
Send CreateComObject of hoXml
End
// The sample input XML is available at http://www.chilkatsoft.com/data/fruitSort1.xml
Get ComLoadXmlFile Of hoXml "fruitSort1.xml" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoXml To sTemp1
Showln sTemp1
Procedure_Return
End
// Sort the direct children under the "fruits" node by tag:
Get ComFindChild Of hoXml "fruits" To vXSortRoot
If (IsComObject(vXSortRoot)) Begin
Get Create (RefClass(cComChilkatXml)) To hoXSortRoot
Set pvComObject Of hoXSortRoot To vXSortRoot
End
// Sort in ascending order.
Move True To iBAscending
Send ComSortByTag To hoXSortRoot iBAscending
// Show the result:
Get ComGetXml Of hoXml To sTemp1
Showln sTemp1
// <root>
// <fruits>
// <apple>
// <grannySmith>blah</grannySmith>
// <gala>blah</gala>
// <fuji>blah</fuji>
// <mcIntosh>blah</mcIntosh>
// <honeycrisp>blah</honeycrisp>
// </apple>
// <banana>blah</banana>
// <blackberry>blah</blackberry>
// <blueberry>blah</blueberry>
// <orange>blah</orange>
// <pear>blah</pear>
// </fruits>
// </root>
// Sort the direct children under the "apple" node:
Get ComFindChild2 Of hoXSortRoot "apple" To iSuccess
Send ComSortByTag To hoXSortRoot iBAscending
Get ComGetXml Of hoXml To sTemp1
Showln sTemp1
// <root>
// <fruits>
// <apple>
// <fuji>blah</fuji>
// <gala>blah</gala>
// <grannySmith>blah</grannySmith>
// <honeycrisp>blah</honeycrisp>
// <mcIntosh>blah</mcIntosh>
// </apple>
// <banana>blah</banana>
// <blackberry>blah</blackberry>
// <blueberry>blah</blueberry>
// <orange>blah</orange>
// <pear>blah</pear>
// </fruits>
// </root>
Send Destroy of hoXSortRoot
End_Procedure