SQL Server
SQL Server
Drop/Undrop Text Formatting Tags
See more HTML-to-XML/Text Examples
Demonstrates how the DropTextFormattingTags and UndropTextFormattingTags methods work in the Html-to-Xml API.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)
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
DECLARE @html nvarchar(4000)
SELECT @html = '<html><body><p><b>Hello</b> World!<p>This is a test</body></html>'
-- Convert the above to XML
DECLARE @h2x int
EXEC @hr = sp_OACreate 'Chilkat.HtmlToXml', @h2x OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
-- By default, text formatting tags are dropped. Text formatting HTML tags are: b, font, i, u, br, center, em, strong, big, tt, s, small, strike, sub, and sup
EXEC sp_OASetProperty @h2x, 'Html', @html
EXEC sp_OAMethod @h2x, 'ToXml', @sTmp0 OUT
PRINT @sTmp0
-- The resulting XML is:
-- <?xml version="1.0" encoding="utf-8"?>
-- <root>
-- <html>
-- <body>
-- <p>
-- <text>Hello World!</text>
-- </p>
-- <p>
-- <text>This is a test</text>
-- </p>
-- </body>
-- </html>
-- </root>
-- To preserve text formatting tags, put the h2x instance into the mode where text formatting tags are not dropped:
EXEC sp_OAMethod @h2x, 'UndropTextFormattingTags', NULL
-- Convert again to see the difference:
EXEC sp_OAMethod @h2x, 'ToXml', @sTmp0 OUT
PRINT @sTmp0
-- The resulting XML is:
-- <?xml version="1.0" encoding="utf-8"?>
-- <root>
-- <html>
-- <body>
-- <p>
-- <b>
-- <text>Hello</text>
-- </b>
-- <text> World!</text>
-- </p>
-- <p>
-- <text>This is a test</text>
-- </p>
-- </body>
-- </html>
-- </root>
-- Call DropTextFormattingTags to put the h2x instance back in "drop" mode.
EXEC sp_OAMethod @h2x, 'DropTextFormattingTags', NULL
-- Convert again to see the difference:
EXEC sp_OAMethod @h2x, 'ToXml', @sTmp0 OUT
PRINT @sTmp0
-- The resulting XML is:
-- <?xml version="1.0" encoding="utf-8"?>
-- <root>
-- <html>
-- <body>
-- <p>
-- <text>Hello World!</text>
-- </p>
-- <p>
-- <text>This is a test</text>
-- </p>
-- </body>
-- </html>
-- </root>
EXEC @hr = sp_OADestroy @h2x
END
GO