Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
(SQL Server) Compress XML TreeDemonstrates 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>
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @sTmp0 nvarchar(4000) DECLARE @xml int EXEC @hr = sp_OACreate 'Chilkat.Xml', @xml OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- The sample input XML is available at http://www.chilkatsoft.com/data/compress2.xml EXEC sp_OAMethod @xml, 'LoadXmlFile', @success OUT, 'compress2.xml' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @xml, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- Zip compress the root node's entire subtree: EXEC sp_OAMethod @xml, 'ZipTree', NULL -- Examine the new XML document: EXEC sp_OAMethod @xml, 'GetXml', @sTmp0 OUT PRINT @sTmp0 -- 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: EXEC sp_OAMethod @xml, 'UnzipTree', NULL EXEC sp_OAMethod @xml, 'GetXml', @sTmp0 OUT PRINT @sTmp0 END GO |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.