SQL Server
SQL Server
Load ucs2 XML File (utf-16)
See more XML Examples
Demonstrates how to load a ucs2 (utf-16 little-endian) XML file into Chilkat XML.Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- If the XML file specifies the encoding in the XML declaration, such as:
-- <?xml version = "1.0" encoding = "UTF-16" standalone = "no" ?>
-- Then it's simply a matter of calling LoadXmlFile.
-- Chilkat will automatically read the XML declaration and will
-- process the file correctly. For example:
DECLARE @xml int
EXEC @hr = sp_OACreate 'Chilkat.Xml', @xml OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OAMethod @xml, 'LoadXmlFile', @success OUT, 'qa_data/xml/sample_ucs2.xml'
-- If, however, there is no XML declaration to indicate the character encoding,
-- then you must explicitly read the file according to what you know
-- is the correct encoding. For example:
DECLARE @sb int
EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb OUT
EXEC sp_OAMethod @sb, 'LoadFile', @success OUT, 'qa_data/xml/sample_ucs2.xml', 'utf-16'
-- Assuming success...
EXEC sp_OAMethod @xml, 'LoadSb', @success OUT, @sb, 1
-- To convert to the XML from utf-16 to utf-8, do the following:
EXEC sp_OASetProperty @xml, 'Encoding', 'utf-8'
EXEC sp_OAMethod @xml, 'GetXml', @sTmp0 OUT
PRINT @sTmp0
EXEC sp_OAMethod @xml, 'SaveXml', @success OUT, 'qa_output/sample_utf8.xml'
EXEC @hr = sp_OADestroy @xml
EXEC @hr = sp_OADestroy @sb
END
GO