Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, HtmlToXml;

...

procedure TForm1.Button1Click(Sender: TObject);
var
html: PWideChar;
h2x: HCkHtmlToXml;

begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

html := '<html><body><p><b>Hello</b> World!<p>This is a test</body></html>';

// Convert the above to XML
h2x := CkHtmlToXml_Create();

// 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
CkHtmlToXml_putHtml(h2x,html);
Memo1.Lines.Add(CkHtmlToXml__toXml(h2x));

// 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:
CkHtmlToXml_UndropTextFormattingTags(h2x);

// Convert again to see the difference:
Memo1.Lines.Add(CkHtmlToXml__toXml(h2x));

// 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.
CkHtmlToXml_DropTextFormattingTags(h2x);

// Convert again to see the difference:
Memo1.Lines.Add(CkHtmlToXml__toXml(h2x));

// 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>

CkHtmlToXml_Dispose(h2x);

end;