NativeXml Help
NativeXml.pas
unit NativeXml

This is a small-footprint implementation to read and write XML documents natively from Delpi Object Pascal code. NativeXml has very fast parsing speeds.

You can use this code to read XML documents from files, streams or strings. The load routine generates events that can be used to display load progress on the fly.

Note1: any external encoding (ANSI, UTF16, etc) is converted to an internal encoding that is UTF8 uniquely. NativeXml uses Utf8String as string type internally, and converts from strings with external encoding in the parsing process. When writing, Utf8String strings are converted to the external encoding strings, if the encoding was set beforehand, or defaults to UTF8 if no encoding was set.

Note2: the character data is always normalized inside the document (just a $0A instead of $0D$0A in Windows for end-of-lines). If EolStyle = esWindows, the data is un-normalized before it gets consumed. If you need no un-normalisation (and after all it is non-optimal) you can use EolStyle = esLinux instead.

Note: this unit is a completely redesigned implementation of legacy NativeXml.
Author
Nils Haeck M.Sc. Creation Date: 10nov2010

Contributor(s): Marius Z: devised and helped with the LINQ-like stackable NodeNewXYZ functions in TNativeXml Stefan Glienke: TDateTime methods use GetTimeZoneInformation Hans-Dieter Karl (hdk): added additional Ansi/Wide/Int64/DateTime functions, some fixes

It is NOT allowed under ANY circumstances to publish, alter or copy this code without accepting the license conditions in accompanying LICENSE.txt first!

This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.

Please visit http://www.simdesign.nl/xml.html for more information.

Copyright (c) 2004 - 2011 Simdesign B.V. (www.simdesign.nl)