XML - Serialisierer?
-
Hi,
ich möchte gerne eine Klasse schreiben, die ein XML String einliest und in C++-Objekte parst. Umgekehrt soll aus C++-Objekten ein XML-String generiert werden.
Ich frage mich nun, ob es dafür gute Beispiele gibt?
Nennt man das einen Serialisierer? Gibt es dafür gute C++ Best Practices oder so?
-
Schau dir einfach mal ein paar der C++ XML Parser Libs an: Liste frei verfügbarer C/C++ XML Parser Libraries - Eure Kommentare?
-
Parser hab ich schon, nämlich pugixml.
Es funktioniert auch alles.
Ich will aber gerne eine saubere Schicht haben, also Objekte, die sich von ISerializable ableiten und nach dem Visitor-Pattern abgesucht und serialisiert werden.
Und umgekehrt.
-
Mike786 schrieb:
Ich will aber gerne eine saubere Schicht haben, also Objekte, die sich von ISerializable ableiten und nach dem Visitor-Pattern abgesucht und serialisiert werden.
Was hält dich davon ab, so etwas zu schreiben?
-
Ich hätte gerne ein sauberes Beispiel vorab gesehen, bevor ich selbst irgendeinen Unsinn implementiere. Im Netz gibt es nur Bruchstücke oder hochkomplexe Template-Implementierungen, die ich unter Over-Engineering ablegen kann.
-
-
Ich habe so was in meinen cxxtools. Es benötigt einen Serialisierungs- und Deserialisierungsoperator, welches die jeweiligen C++-Klassen in eine generische Struktur konvertiert bzw. aus einer generischen Struktur extrahiert. Die Operatoren sind dann aber so generell, dass man nicht nur XML sondern auch andere Formate verwenden kann. Es gibt dort dann Serialisierer für JSON, CSV, binär, XMLRPC, JSONRPC, binäres RPC und noch ein paar andere.