Sample code for 30+ languages & platforms
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

SQL Server
-- 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