Sample code for 30+ languages & platforms
Swift

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 Swift Downloads

Swift

func chilkatTest() {
    // Note: This example requires Chilkat v9.5.0.64 or later.

    // Add some entries to a hashtable.
    let hashTab = CkoHashtable()!

    hashTab.addStr(key: "aaa", value: "111")
    hashTab.addStr(key: "bbb", value: "222")
    hashTab.addStr(key: "ccc", value: "333")

    // Serialize to XML
    let sb = CkoStringBuilder()!
    hashTab.toXmlSb(sbXml: 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.
    let hashTab2 = CkoHashtable()!
    hashTab2.add(fromXmlSb: 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.
    let sTable = CkoStringTable()!
    hashTab2.getKeys(strTable: sTable)

    var i: Int = 0
    var numKeys: Int = sTable.count.intValue
    while i < numKeys {
        var key: String? = sTable.string(at: i)
        print("\(key!): \(hashTab2.lookupStr(key: key)!)")
        i = i + 1
    }


}