SimpleXML.pas (Version 2013-04-16)

SimpleXML.pas is a library for XML parsing and converting to XML objects hierarchy and vice versa. This is a revised version of SimpleXML.pas introduced by Michael Vlasov in 2003. It is one of the smallest and fastest XML librarys availably for Delphi. The new version is not fully compatible to the old one, mainly because now the character conversion is done internal and not outside the library, as it was before. The format of the binary dump is changed, too. The library is capable to work with Ansi and UTF8 coded XML data. UTF16 data files are not supported.

The unit is tested with:
Delphi Versions: 6, 2007, 2009, 2010, XE4(win32/win64).

Download SimpleXML.pas (Version 2013-04-03)

Download SimpleXML.pas (Beta Version 2013-04-16)

The contents of the file SimpleXML.pas are used with permission, subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Change log
2009-12-16(so)Page created
2009-12-23(so)CloneNode copy data
2009-12-27(so)Faster parsing and saving
2009-12-29(so)BOM support
2010-01-03(so)Bugs in russian error messages fixed
2010-04-14(so)ExchangeChilds added
2010-12-06(so)Minor Changes in error messages
2012-04-16(so)BOM support added
2012-07-16(so)Error message in the case of 4-Byte-Unicode (not supported)
2012-11-12(vz)Reformed logic saved long attributes - thanks to Vadim Zharkov
2012-11-23(so)Bug: It is not possible to copy aNode from one Doc to another
2013-02-23(so)Bug in Get_Text
2013-03-24(lg)Some new features - thanks to Lukas Gebauer
- Ansi-version can use UTF8-Strings (see XMLDefaultcodepage)
- Error messages with line and columne numbers
- OnTagBegin/OnTagEnd-Events
- 4 Byte-UTF8-Decoding
2013-04-03(vb)DateTime strings are now somewhat more W3C compliant - thanks to Vladimir Belyaev
2013-04-14(so)beta version "utf8"
- Internal data is always utf8
- corrected russian translations - thanks to Vladimir Belyaev
- simple demo included
2013-04-16(so)More speed for TXMLSaver and UTF-8 converter