Sample code for 30+ languages & platforms
Dart

Serialize / Deserialize Hashtable to/from XML

Demonstrates how to seralize / deserialize a Hashtable to/from XML.

Note: This example requires Chilkat v9.5.0.64 or later.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // Note: This example requires Chilkat v9.5.0.64 or later.

  // Add some entries to a hashtable.
  final hashTab = CkHashtable();

  hashTab.addStr('aaa', '111');
  hashTab.addStr('bbb', '222');
  hashTab.addStr('ccc', '333');

  // Serialize to XML
  final sb = CkStringBuilder();
  hashTab.toXmlSb(sb);
  print(sb.getAsString());
  print('---');

  // The output is as follows.  Each hash table entry
  // is contained in an "e" node.  The entry's key
  // is in the "k" node, and the value in the "v" node.

  // <?xml version="1.0" encoding="utf8-8"?>
  // <hashtable>
  // <e><k>aaa</k><v>111</v></e>
  // <e><k>bbb</k><v>222</v></e>
  // <e><k>ccc</k><v>333</v></e>
  // </hashtable>
  // 

  // Now load (deserialize) into a new hash table.
  final hashTab2 = CkHashtable();
  hashTab2.addFromXmlSb(sb);

  // Get the hash table keys, and lookup each (to show 
  // that the hash table was correctly deserialized).
  // The GetKeys method can return the keys in any order.
  final sTable = CkStringTable();
  hashTab2.getKeys(sTable);

  var i = 0;
  final numKeys = sTable.count;
  while (i < numKeys) {
    final key = sTable.stringAt(i);
    print('$key: ${hashTab2.lookupStr(key)}');
    i++;
  }
}