Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

Convert HTML to XML with Auto-Correction

See more HTML-to-XML/Text Examples

Simple HTML to XML conversion. Demonstrates how the HTML is auto-corrected to create well-formed XML. In this example, the closing

is missing. Also, text is encapsulated in nodes with the intent to make it easy for programs to identify and extract the text parts.

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.HtmlToXml;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  htmlToXml: THtmlToXml;

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

  htmlToXml := THtmlToXml.Create;

  //  Indicate the charset of the output XML we'll want.
  htmlToXml.XmlCharset := 'utf-8';

  //  Set the HTML:
  htmlToXml.Html := '<html><body><p>This is a test <a href="http://www.chilkatsoft.com/">Chilkat Software</a></body></html>';

  //  Get the XML:
  WriteLn(htmlToXml.ToXml());

  //  This is the output:
  //  <?xml version="1.0" encoding="utf-8" ?>
  //  
  //  <root>
  //      <html>
  //          <body>
  //              <p>
  //                  <text>This is a test </text>
  //                  <a href="http://www.chilkatsoft.com/">
  //                      <text>Chilkat Software</text>
  //                  </a>
  //              </p>
  //          </body>
  //      </html>
  //  </root>


  htmlToXml.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.