DataFlex
DataFlex
Compress XML Tree
See more XML Examples
Demonstrates how to compress and restore the entire subtree rooted at an XML node.The input XML, available at http://www.chilkatsoft.com/data/compress2.xml, is this:
<root>
<lazydog>
<fox>The quick brown fox jumps over the lazy dog</fox>
</lazydog>
<fox>The quick brown fox jumps over the lazy dog</fox>
<child>
<grandchild>The quick brown fox jumps over the lazy dog</grandchild>
</child>
<child>
<grandchild>The quick brown fox jumps over the lazy dog</grandchild>
</child>
</root>
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoXml
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/compress2.xml
Get ComLoadXmlFile Of hoXml "compress2.xml" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoXml To sTemp1
Showln sTemp1
Procedure_Return
End
// Zip compress the root node's entire subtree:
Get ComZipTree Of hoXml To iSuccess
// Examine the new XML document:
Get ComGetXml Of hoXml To sTemp1
Showln sTemp1
// This is the XML w/ the compressed subtree in Base64 encoded format:
// <root><![CDATA[4+WyKcrPL7Hj5VIAApucxKrKlPx0KBcslJZfYReSkapQWJqZnK2QVJRfnqcAFFPIKs0tKFbIL0st
// UigBSoN0KgC12uiDNECN00c1jyKzkjMyc1KQHZZelJiXAhElyUwkfTBnovDoYZGNPjTUAQ==
// ]]></root>
// Now uncompress and show that the original subtree was restored:
Get ComUnzipTree Of hoXml To iSuccess
Get ComGetXml Of hoXml To sTemp1
Showln sTemp1
End_Procedure