Hi,
also erstmal zum Thema "einfachstes Format", so etwas wird es
imho nicht geben. Liegt nur daran, dass einfach viel zu relativ ist (gibt bestimmt Menschen die finden
XML einfach).
An sich empfiehlt es sich, wenn Du Auszeichnungen/Tags verwendest. Diese markieren eine bestimmte Stelle und treffen eine Aussage über den Inhalt. Das hat den Vorteil, dass die Reihenfolge der Tags und deren Anzahl beliebig sind. Findest Du ein Tag, dass Du nicht kennst, dann ignorierst Du es einfach.
Sowohl Ini-Dateien als auch
XML folgen dem Prinzip. Bei einer Ini-Datei gibt es Auszeichnungen einer Sektion ([SektionsName]) und untergeordneter Schlüssel-Wertpaare. Die Größenbeschränkung bei Ini-Dateien lässt sich durch andere Units als IniFiles umgehen, such einfach mal nach
BiginiFile (oder so ähnlich).
Bei
XML geht die Strukturierung nur etwas weiter. Hier gibt es Tags, die durch spitze Klammern angezeigt werden. Innerhalb dieses Tags steht dann irgendein String, das ganze wird dann als öffnendes Tag bezeichnet. Zu jedem öffnenden Tag gehört auch immer ein schließendes Tag. Dieses sieht eigentlich aus, wie das öffnende, nur dass ein / vor den Namen gesetzt wird
Alles was zwischen dem öffnenden und schließenden Tag steht, ist diesem einen Tag untergeordnet. Man betrachtet ein
XML-Dokument i.d.R. als ein Baum. Jedes Tag stellt dabei einen Knoten dar. Für Filme könntest Du z.B. einen Baum folgender Form haben:
Code:
Filme
- Film1
- Jahr xxx
- Genre xxxx
- Regie
- Person A
- Person B
- Person C
- Inhalt bla
- Film2
- Jahr xxxx
- Genre xxx
- Regie
- Person A
- Inhalt bla
....
(erinnert vielleicht ein wenig an den Dateibaum, den Dir der Explorer anzeigt, nur hier für Filme
)
Das ganze kannst Du dann entsprechend in
XML umsetzen:
Code:
<Filme>
<Film>
<Name>
1
</Name>
<Jahr>
xxxx
</Jahr>
<Genre>
xxxx
</Genre>
<Regie>
<Person>
<Name> Blubb </Name>
<Vorname> Blä </Name>
</Person>
<Person>
<Vorname> Foo </Name>
<Name> Bar </Name>
</Person>
</Regie>
</Film>
</Filme>
Gut, ist nicht die 100%ige Entsprechung, aber die Idee dürfte klar sein. Dass ich im letzten Beispiel jetzt Person noch in Name und Nachname unterteile soll nur zeigen, dass Du hier nicht in der Strukturierung beschränkt bist. Zudem steht es Dir frei, ob Du das schließende Tag in die gleiche Zeile oder in eine beliebige andere schreibst. Wichtig ist nur, dass alles was zwischen dem öffnenden und schließenden Tag steht diesem Tag zugeordnet wird.
Eine weitere wichtige Regel für
XML ist dann noch, dass Du nur einen Wurzelknoten hast (hier wäre das Filme). Mehrere Knoten sollten auf dieser Ebene (also nach </Filme>) nicht vorhanden sein.
Das wäre (vereinfacht) schon alles, was für
XML wichtig ist. Es gibt noch jede Menge Dinge rund um
XML, wie Namensräume, Transformationen, Schemata und DTD, die sind aber hier noch nicht wichtig.
Zudem können
XML-Dateien auf den ersten Blick etwas abschreckend wirken, davon solltest Du Dich aber nicht einschüchtern lassen.
XML ist ein wirklich einfaches Format! Eine Datei, in der Form der hier geposteten könntest Du so an einen
XML-Parser geben, der daraus dann einfach einen Baum für Dich erzeugt.
Du hättest jetzt die Wurzel (Filme). Hier kannst Du abfragen, was zwischen dem öffnenden und schließenden Tag steht (sowohl roher Text als auch Kindtags), sowie das aktuelle Tag heißt. In diesem Fall wäre nur ein Kindtag zu finden. Dieses ist wiederum die Wurzel eines Teilbaums, Du kannst also ganz analog vorgehen.
Du würdest also als erstes das Tag Filme bekommen. Dem ist das Tag Film untergeordnet
Das Tag Film hat nun die Kindtags Name, Jahr, Genre, Regie.
Jetzt kannst Du diese Tags nacheinander durchgehen:
Das Tag Name enthält den String 1
Das Tag Jahr enthält den String xxxx
Das Tag Genre enthält den String xxxx
Das Tag Regie enthält die Kindtags Person und Person
...
Gruß Der Unwissende