Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
tinyxml — TinyXML 2.6.2 mit Korrekturen für CVE-2021-42260 und CVE-2023-34194 | Kitploit
Tools/GitHubGitHub/vm2mv/tinyxml
Allgemeine DienstprogrammeStatische AnalyseCode-AnalyseDienstprogramme & Frameworks
GitHubvm2mv/tinyxml

tinyxml

TinyXML 2.6.2 mit Korrekturen für CVE-2021-42260 und CVE-2023-34194

Repository anzeigen
116vor 1 JahrNoch nicht geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

/** @mainpage

TinyXML

TinyXML ist ein einfacher, kleiner C++-XML-Parser, der leicht in andere Programme integriert werden kann.

Was es tut.

Kurz gesagt: TinyXML parst ein XML-Dokument und erstellt daraus ein Document Object Model (DOM), das gelesen, geändert und gespeichert werden kann.

XML steht für „eXtensible Markup Language". Es ermöglicht Ihnen, eigene Dokument-Auszeichnungen zu erstellen. Während HTML Dokumente für Browser sehr gut auszeichnet, erlaubt es XML, jede Art von Dokument-Auszeichnung zu definieren, zum Beispiel ein Dokument, das eine „To-do"-Liste für eine Organizer-Anwendung beschreibt. XML ist ein sehr strukturiertes und praktisches Format. Alle beliebigen Dateiformate, die zum Speichern von Anwendungsdaten erstellt wurden, können durch XML ersetzt werden. Ein Parser für alles.

Der beste Ort für die vollständige, korrekte und offen gesagt schwer zu lesende Spezifikation ist http://www.w3.org/TR/2004/REC-xml-20040204/. Eine Einführung in XML (die ich wirklich mag) finden Sie unter http://skew.org/xml/tutorial.

Es gibt verschiedene Möglichkeiten, auf XML-Daten zuzugreifen und mit ihnen zu interagieren. TinyXML verwendet ein Document Object Model (DOM), d. h. die XML-Daten werden in C++-Objekte geparst, die durchsucht und manipuliert und dann auf die Festplatte oder in einen anderen Ausgabestrom geschrieben werden können. Sie können ein XML-Dokument auch von Grund auf mit C++-Objekten erstellen und dieses auf die Festplatte oder in einen anderen Ausgabestrom schreiben.

TinyXML ist darauf ausgelegt, einfach und schnell erlernbar zu sein. Es besteht aus zwei Headern und vier CPP-Dateien. Fügen Sie diese einfach zu Ihrem Projekt hinzu und los geht's. Es gibt eine Beispieldatei – xmltest.cpp –, die Ihnen den Einstieg erleichtert.

TinyXML wird unter der ZLib-Lizenz veröffentlicht, sodass Sie es in Open-Source- oder kommerziellem Code verwenden können. Die Details der Lizenz stehen am Anfang jeder Quelldatei.

TinyXML versucht, ein flexibler Parser zu sein, aber mit wirklich korrekter und konformer XML-Ausgabe. TinyXML sollte auf jedem halbwegs C++-konformen System kompilieren. Es verlässt sich nicht auf Exceptions oder RTTI. Es kann mit oder ohne STL-Unterstützung kompiliert werden. TinyXML unterstützt die UTF-8-Kodierung und die ersten 64k Zeichenentitäten vollständig.

Was es nicht tut.

TinyXML parst oder verwendet keine DTDs (Document Type Definitions) oder XSLs (eXtensible Stylesheet Language). Es gibt andere Parser da draußen (schauen Sie auf www.sourceforge.org vorbei, suchen Sie nach XML), die wesentlich umfangreicher ausgestattet sind. Aber sie sind auch viel größer, brauchen länger für die Einrichtung in Ihrem Projekt, haben eine steilere Lernkurve und oft eine restriktivere Lizenz. Wenn Sie mit Browsern arbeiten oder umfassendere XML-Anforderungen haben, ist TinyXML nicht der richtige Parser für Sie.

Die folgende DTD-Syntax wird derzeit in TinyXML nicht geparst:

@verbatim ]> @endverbatim

da TinyXML dies als einen !DOCTYPE-Knoten mit einem unzulässig eingebetteten !ELEMENT-Knoten betrachtet. Dies könnte in Zukunft behoben werden.

Tutorials.

Für die Ungeduldigen gibt es hier ein Tutorial, um loszulegen. Ein großartiger Weg, um den Einstieg zu finden, aber es lohnt sich, dieses (sehr kurze) Handbuch vollständig zu lesen.

  • @subpage tutorial0

Code-Status.

TinyXML ist ausgereifter, getesteter Code. Es ist sehr stabil. Wenn Sie Fehler finden, melden Sie bitte einen Fehlerbericht auf der SourceForge-Website (www.sourceforge.net/projects/tinyxml). Wir werden sie so schnell wie möglich beheben.

Es gibt einige Bereiche mit Verbesserungspotenzial; schauen Sie bitte auf SourceForge vorbei, wenn Sie Interesse daran haben, an TinyXML mitzuarbeiten.

Verwandte Projekte

TinyXML-Projekte, die Sie nützlich finden könnten! (Beschreibungen von den Projekten bereitgestellt.)

  • TinyXPath (http://tinyxpath.sourceforge.net). TinyXPath ist ein XPath-Syntax-Decoder mit kleiner Grundfläche, geschrieben in C++.
  • TinyXML++ (http://code.google.com/p/ticpp/). TinyXML++ ist eine komplett neue Schnittstelle zu TinyXML, die VIELE der Stärken von C++ nutzt. Templates, Exceptions und eine viel bessere Fehlerbehandlung.

Funktionen

Verwendung von STL

TinyXML kann so kompiliert werden, dass es STL verwendet oder nicht. Bei Verwendung von STL nutzt TinyXML die Klasse std::string und unterstützt vollständig std::istream, std::ostream, operator<< und operator>>. Viele API-Methoden gibt es sowohl in der 'const char*'- als auch in der 'const std::string&'-Form.

Wenn die STL-Unterstützung herauskompiliert wird, werden überhaupt keine STL-Dateien eingebunden. Alle String-Klassen werden von TinyXML selbst implementiert. API-Methoden verwenden für die Eingabe alle die 'const char*'-Form.

Verwenden Sie das #define zur Compile-Zeit:

TIXML_USE_STL

um die eine oder andere Version zu kompilieren. Dies kann dem Compiler übergeben oder als erste Zeile von „tinyxml.h" gesetzt werden.

Hinweis: Wenn Sie den Testcode unter Linux kompilieren, steuert das Setzen der Umgebungsvariable TINYXML_USE_STL=YES/NO die STL-Kompilierung. In der Windows-Projektdatei werden STL- und Nicht-STL-Ziele bereitgestellt. In Ihrem Projekt ist es wahrscheinlich am einfachsten, die Zeile „#define TIXML_USE_STL" als erste Zeile von tinyxml.h hinzuzufügen.

UTF-8

TinyXML unterstützt UTF-8 und ermöglicht so die Bearbeitung von XML-Dateien in jeder Sprache. TinyXML unterstützt auch den „Legacy-Modus" – die Kodierung, die vor der UTF-8-Unterstützung verwendet wurde und wohl am besten als „erweitertes ASCII" beschrieben werden kann.

Normalerweise versucht TinyXML, die korrekte Kodierung zu erkennen und zu verwenden. Durch das Setzen des Werts von TIXML_DEFAULT_ENCODING in der Header-Datei kann TinyXML jedoch gezwungen werden, immer eine bestimmte Kodierung zu verwenden.

TinyXML geht vom Legacy-Modus aus, bis einer der folgenden Fälle eintritt:

  1. Wenn die nicht standardkonformen, aber üblichen „UTF-8-Führungsbytes" (0xef 0xbb 0xbf) die Datei oder den Datenstrom beginnen, liest TinyXML diese als UTF-8.
  2. Wenn das Deklarations-Tag gelesen wird und ein encoding="UTF-8" enthält, liest TinyXML es als UTF-8.
  3. Wenn das Deklarations-Tag gelesen wird und keine Kodierung angegeben ist, liest TinyXML es als UTF-8.
  4. Wenn das Deklarations-Tag gelesen wird und ein encoding="etwas anderes" enthält, liest TinyXML es im Legacy-Modus. Im Legacy-Modus funktioniert TinyXML wie zuvor. Es ist nicht ganz klar, was dieser Modus genau tut, aber alter Inhalt sollte weiterhin funktionieren.
  5. Bis eines der oben genannten Kriterien erfüllt ist, läuft TinyXML im Legacy-Modus.

Was passiert, wenn die Kodierung falsch gesetzt oder erkannt wird? TinyXML versucht, Text, der als falsch kodiert angesehen wird, zu lesen und durchzureichen. Möglicherweise erhalten Sie seltsame Ergebnisse oder verstümmelte Zeichen. Möglicherweise möchten Sie TinyXML in den korrekten Modus zwingen.

Sie können TinyXML mit LoadFile( TIXML_ENCODING_LEGACY ) oder LoadFile( filename, TIXML_ENCODING_LEGACY ) in den Legacy-Modus zwingen. Sie können es zwingen, den Legacy-Modus immer zu verwenden, indem Sie TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY setzen. Ebenso können Sie es mit derselben Technik auf TIXML_ENCODING_UTF8 zwingen.

Für englischsprachige Benutzer, die englisches XML verwenden, ist UTF-8 dasselbe wie Low-ASCII. Sie müssen sich UTF-8 nicht bewusst sein oder Ihren Code in irgendeiner Weise ändern. Sie können sich UTF-8 als „Obermenge" von ASCII vorstellen.

Tool herunterladen