XML-Parser und -Generator für wohlgeformte XML-Dokumente. Escape/Unescape von Sonderzeichen (EscapeText, EscapeAttribute), Tag-Parsing mit Attribut-Extraktion, XML-Deklaration (WriteDeclaration), Element- und Dokumentgenerierung (WriteElement, WriteDocument), XML-zu-Array-Konvertierung (XMLToArray), Validierung (IsValid), Element-Zählung und Pretty-Print mit konfigurierbarem Einzug.
Einsatzbereiche: Datenaustausch mit Drittsystemen, RSS/Atom-Feed-Generierung, SOAP-Schnittstellen, Konfigurationsdateien im XML-Format, sitemap.xml für SEO.
Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne
| Name | Typ | Wert | Sichtbarkeit |
|---|---|---|---|
XML_NODE_ELEMENT | int64 | 1 | priv |
XML_NODE_TEXT | int64 | 2 | priv |
XML_NODE_CDATA | int64 | 3 | priv |
XML_NODE_COMMENT | int64 | 4 | priv |
XML_NODE_DECLARATION | int64 | 5 | priv |
ERR_XML_OK | int64 | 0 | pub |
ERR_XML_INVALID | int64 | 1 | pub |
ERR_XML_EOF | int64 | 2 | pub |
ERR_XML_TAG_MISMATCH | int64 | 3 | pub |
ERR_XML_ATTR_ERROR | int64 | 4 | pub |
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
isXmlSpace(c: int64): bool | priv | Prüft ob Zeichen XML-Leerzeichen ist |
skipXmlSpace(s: pchar, pos: int64): int64 | priv | Leerzeichen im XML-String überspringen |
findXmlLineEnd(s: pchar, pos: int64): int64 | priv | Ende der aktuellen Zeile finden |
xmlStrLen(s: pchar): int64 | priv | Zeichenlänge eines pchar-Strings ermitteln |
EscapeText(input: pchar, output: pchar): int64 | pub | XML-Sonderzeichen in Textinhalt escapen |
EscapeAttribute(input: pchar, output: pchar): int64 | pub | XML-Sonderzeichen in Attributwert escapen |
findTagNameEnd(s: pchar, pos: int64): int64 | priv | Ende eines Tag-Namens finden |
findAttrNameEnd(s: pchar, pos: int64): int64 | priv | Ende eines Attribut-Namens finden |
findAttrValueEnd(s: pchar, pos: int64): int64 | priv | Ende eines Attribut-Werts finden |
parseXmlDecl(s: pchar, pos: int64, outVersion: pchar, outEncoding: pchar): int64 | priv | XML-Deklaration parsen |
parseTag(s: pchar, pos: int64, outTagName: pchar, outText: pchar, indent: int64, output: pchar): int64 | priv | XML-Tag mit Attributen parsen |
ParseString(input: pchar, output: pchar): int64 | pub | XML-String vollständig parsen |
WriteDeclaration(output: pchar, version: pchar, encoding: pchar): int64 | pub | XML-Deklaration schreiben |
WriteElement(output: pchar, tagName: pchar, attrs: pchar, attrCount: int64, text: pchar, indent: int64): int64 | pub | XML-Element mit Attributen schreiben |
WriteDocument(output: pchar, rootName: pchar, rootText: pchar, version: pchar, encoding: pchar): int64 | pub | Vollständiges XML-Dokument erzeugen |
XMLToArray(xml: pchar, output: pchar): int64 | pub | XML in Array-Struktur konvertieren |
ArrayToXML(arr: pchar, output: pchar): int64 | pub | Array-Struktur in XML konvertieren |
CreateArrayEntry(name: pchar, text: pchar, output: pchar): int64 | pub | Array-Eintrag mit Name und Text anlegen |
GetArrayEntryName(arr: pchar, output: pchar): int64 | pub | Name eines Array-Eintrags lesen |
GetArrayEntryText(arr: pchar, output: pchar): int64 | pub | Textinhalt eines Array-Eintrags lesen |
IsValid(xml: pchar): bool | pub | XML auf Wohlgeformtheit prüfen |
CountElements(xml: pchar): int64 | pub | Anzahl der XML-Elemente zählen |
PrettyPrint(input: pchar, output: pchar, indentSize: int64): int64 | pub | XML eingerückt formatiert ausgeben |