XML als Dateiformat
-
ness schrieb:
Warum willst du überhaupt xml? Das bietet sich eigentlich nur an, wenn da auch mal ein Mensch drüberguckt.
Das stimmt so nicht. Wenn viele Anwendungen Daten aus der Datei benötigen und das Format auch mal erweitert wird, dann ist das auch praktisch. Kommen neue tags dazu, können für eine Applikation irrelevante Tags einfach ignoriert werden. Das ist bei weniger strukturierten Dateiformaten meist deutlich schwieriger.
-
dEUs schrieb:
Wäre alternativ zur Base64-Kodierung nicht auch die Speicherung in einem CDATA-Tag möglich?
Nicht wenn es binäre Daten sind. Und wenn es nicht binär ist und damit in ein CDATA-Tag packbar wäre, dann ist der Schlüssel als Radix-64 verwurstelt und damit "aufwendiger" als Base64.
-
Gut zu wissen, danke.
-
Jester schrieb:
ness schrieb:
Warum willst du überhaupt xml? Das bietet sich eigentlich nur an, wenn da auch mal ein Mensch drüberguckt.
Das stimmt so nicht. Wenn viele Anwendungen Daten aus der Datei benötigen und das Format auch mal erweitert wird, dann ist das auch praktisch. Kommen neue tags dazu, können für eine Applikation irrelevante Tags einfach ignoriert werden. Das ist bei weniger strukturierten Dateiformaten meist deutlich schwieriger.
http://de.wikipedia.org/wiki/JSON hat weniger overhead und ist einfacher zu lesen als xml.
-
AlternativeÖkoType schrieb:
Jester schrieb:
ness schrieb:
Warum willst du überhaupt xml? Das bietet sich eigentlich nur an, wenn da auch mal ein Mensch drüberguckt.
Das stimmt so nicht. Wenn viele Anwendungen Daten aus der Datei benötigen und das Format auch mal erweitert wird, dann ist das auch praktisch. Kommen neue tags dazu, können für eine Applikation irrelevante Tags einfach ignoriert werden. Das ist bei weniger strukturierten Dateiformaten meist deutlich schwieriger.
http://de.wikipedia.org/wiki/JSON hat weniger overhead und ist einfacher zu lesen als xml.
leider keine library für c++

-
Nimm den für C, C++ ist doch nur ne erweiterung.
-
rüdiger schrieb:
mifudd schrieb:
1. XML-Schema
Ich weiß was in der Datei drin stehen soll. Ich kann also ein XML-Schema entwerfen das mein neues Dateiformat beschreibt. Hilft mir die so erstellte *.xsd beim Schreiben der Datei weiter? Kann ich mit dieser xsd einfacher einen XML-Writer für meine Anwendung schreiben? Oder kann ich mit dieser xsd Datei nur ermitteln ob die geschriebene Datei dem Schema entspricht?Theoretisch kannst du dir über das XML-Schema automatisch Formulare oder Export-Funktionen oä generieren lassen. Aber ich weiß nicht was es da bereits für Software gibt
In Java kannst Du mit Hilfe von JAXB die XML-Typen des Schemas mit den Klassen des Source-Codes binden und somit das Serialisieren/Deserialisieren der Objektstrukturen automatisieren. KA was es da in C++ gibt...
Ansonsten ist aber auch schon das einfache Validieren gegen ein Schema ne gute Sache, um die Korrektheit des Formats sicherzustellen. So kann man sich einige Überprüfungen im Code sparen.
-
Erstmal vielen Dank für die vielen Antworten

- Ich muß erstmal sehen wie ich das mit der Encryption mache. XMLSec sieht vielversprechend aus...
- Als Entwicklungsumgebung werde ich C++.Net nehmen. JSON möchte ich nicht nehmen. Habe nie was von gehört...
- Base64 nimmt man für die Speicherung der verschlüsselten Daten? Spart gegenüber HEX sicher ein paar Bits. Mal sehen, wenn da schon was implementiert ist nehme ich das gern

-
Wieso nicht den Teil mit den enrypten Daten seperat schicken?
<daten> <name>Devent</devent> <encrypt>meinedaten.dat</encrypt> </daten>
-
DEvent schrieb:
Wieso nicht den Teil mit den enrypten Daten seperat schicken?
Weil einige lieber standardisierte Lösungen verwenden, anstatt proprietär rumzufrickeln?
-
mifudd schrieb:
- Als Entwicklungsumgebung werde ich C++.Net nehmen.
Dann solltest Du Dir mal ansehen, wie man in .NET Klassen mit XML direkt serialisiert, was auch für Java gesagt wurde - Du kannst dann direkt die Attribute eines Objekts nach XML schieben oder daraus holen. Allerdings habe ich dies in C++.NET noch nicht gesehen, sollte da aber auch gehen (oder nötigenfalls schreibst Du diesen Teil in C#, ist ja nur die Klassendefinition, dazu braucht es keine so tiefen Kenntnisse).