Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Unterschiedliche Record-Strukturen in XML speichern

  Alt 18. Apr 2004, 17:40
Zitat von MathiasSimmack:
Zitat:
[...] da Mathias S. aus F. bei C. gesagt hat, man könne auch auf die XML-Datei online zugreifen ohne sie runterzuladen.
Ja, das habe ich gesagt. Und mit dem Updateprogramm habe ich das ja auch bewiesen. Aber streng genommen wird die XML-Datei beim MS-XML-Parser bspw. in den Cache geladen. Aber trotzdem: selbst darum kümmern musst du dich nicht.
Na ja das ist sowieso erstmal zweitrangig. Es ging mir nur darum nicht explizit die datei runterladen zumüssen. Dass sie letzt endlich doch irgendwo im Cache landet iast irgendwie logisch.

Zitat:
Zitat:
[...] Da auch ein Abgleich möglich sein soll, wenn man die XML-Datei von wo anders editiert hat, wollte ich entsprechende Infos in der XML-Datei speichern [...]
Na ja, hier weiß ich nicht genau was du meinst. Es ist sicher möglich, auf die XML-Datei zuzugreifen, wenn diese auf deinem Server liegt. Aber auf dem Server speichern wird wohl mit dem Parser nicht gehen. Dazu müsstest du dann wahrscheinlich doch wieder mit FTP ran.
Ich meine,w enn ich bei meiner Freundin bin lad ich mir die aktuelle Version runter. Kann sie editieren und wieder hochladen. Zu hause kann ich sie dann wieder unterladen und habe wieder lokal eine aktuelle Version. Ob ich mir da was mit FTP baue, mal sehen. Soweit bin ich ja noch gar nicht.

Zitat:
Zitat:
Jetzt die Frage: Ist das ohne weiteres möglich oder muss man da irgendwelche Klimmzüge für machen?
Eigentlich nicht. Da du dir bei XML ja eigene Tags ausdenken kannst, hängt die Dokumentenstruktur ganz von dir ab. Du musst eben nur bedenken, dass es nur einen root-Knoten geben darf, und dass die untergeordneten Namen alle dem gleichen Prinzip folgen sollten, etwa
Code:
<?xml version="1.0"?>
<adressen>
  <kontakt>
    <name>S.</name>
    <vorname>Mathias</vorname>
    <wohnort>F. bei C.</wohnort>
    <iq>menschliche Skala nicht ausreichend</iq>
  </kontakt>
</adressen>
Ich würde als Rootnode die Bezeichnung "Kontakt" wählen. Der erste Subnode wäre dann der Record mit dem XML-Dateiinfos und alle weiteren Subnodes wären die Kontakte.

Zitat:
Da ich nur für den Parser von Microsoft sprechen kann, brauchst du im Programm auch nicht mit Records hantieren. Du kannst direkt mit IXMLDOMNode-Objekten arbeiten und diese relativ schnell auslesen:
Delphi-Quellcode:
kontakte := xmldoc.selectNodes('/adressen/kontakt');
// kontakte = IXMLDOMNodeList
Damit hättest du vereinfacht gesagt ein Array aus IXMLDOMNodes mit allen gefundenen "<kontakt>"-Knoten samt Inhalt, den du dann auslesen und in deinem Programm darstellen kannst.
Ich denke mit Records kann ich Programm intern besser arbeiten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat