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
(PowerBuilder) Serialize / Deserialize Hashtable to/from XMLDemonstrates how to seralize / deserialize a Hashtable to/from XML. Note: This example requires Chilkat v9.5.0.64 or later.
integer li_rc oleobject loo_HashTab oleobject loo_Sb oleobject loo_HashTab2 oleobject loo_STable integer i integer li_NumKeys string ls_Key // Note: This example requires Chilkat v9.5.0.64 or later. // Add some entries to a hashtable. loo_HashTab = create oleobject // Use "Chilkat_9_5_0.Hashtable" for versions of Chilkat < 10.0.0 li_rc = loo_HashTab.ConnectToNewObject("Chilkat.Hashtable") if li_rc < 0 then destroy loo_HashTab MessageBox("Error","Connecting to COM object failed") return end if loo_HashTab.AddStr("aaa","111") loo_HashTab.AddStr("bbb","222") loo_HashTab.AddStr("ccc","333") // Serialize to XML loo_Sb = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_Sb.ConnectToNewObject("Chilkat.StringBuilder") loo_HashTab.ToXmlSb(loo_Sb) Write-Debug loo_Sb.GetAsString() Write-Debug "---" // 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. loo_HashTab2 = create oleobject // Use "Chilkat_9_5_0.Hashtable" for versions of Chilkat < 10.0.0 li_rc = loo_HashTab2.ConnectToNewObject("Chilkat.Hashtable") loo_HashTab2.AddFromXmlSb(loo_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. loo_STable = create oleobject // Use "Chilkat_9_5_0.StringTable" for versions of Chilkat < 10.0.0 li_rc = loo_STable.ConnectToNewObject("Chilkat.StringTable") loo_HashTab2.GetKeys(loo_STable) i = 0 li_NumKeys = loo_STable.Count do while i < li_NumKeys ls_Key = loo_STable.StringAt(i) Write-Debug ls_Key + ": " + loo_HashTab2.LookupStr(ls_Key) i = i + 1 loop destroy loo_HashTab destroy loo_Sb destroy loo_HashTab2 destroy loo_STable |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.