Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML Hilfe benötigt (https://www.delphipraxis.net/88301-xml-hilfe-benoetigt.html)

Bernd Nowak 13. Mär 2007 13:06


XML Hilfe benötigt
 
Hallo an alle,
benutze Turbo Delphi 2006 Pro und möchte folgende XML Datei einlesen, ändern bzw ergänzen. Diese Datei ist von mir erstellt. Falls jemand Ideen hat für den Aufbau der XML Datei nur zu :)

Delphi-Quellcode:
<?xml version="1.0"?>
<options>
   <1967>
      <tracks>
         <update>
            <silverstone>
               <installed>
               yes
               </installed>
            </silverstone>
         
         </update>
      </tracks>
   </1967>
   <1965>
      <sound>
         <update>
            <author>
               <installed>
               yes
               </installed>
            </author>
         
         </update>
      </sound>
   </1965>
</options>
Möchte/sollte XML mit Delphi 32 Bordmittelns sein also ohne MSXML da ich von den Client Systemen nur weiss das es von Win95-Vista alles sein kann ;)

angos 13. Mär 2007 13:18

Re: XML Hilfe benötigt
 
hi,

verstehe nicht ganz was du möchtest. Wenn du die Datei einfach einlesen und bearbeiten möchtest, empfehle ich dir, einfach den String durchzuparsen und die jeweiligen einzelnen attribute (am sinnvollsten) in ein Objekt zu schreiben, womit du dann die änderungen abbilden kannst.
Zur XML-Datei an sich:
"Kleine" Informationen kann man als Attribute speichern, das spart platz und ist überischtlicher!

Delphi-Quellcode:
  <1967>
      <tracks>
         <update>
            <silverstone installed=yes>

            </silverstone>        
         </update>
      </tracks>
   </1967>

Bernd Nowak 13. Mär 2007 15:12

Re: XML Hilfe benötigt
 
Danke schonmal mit den Attributen :)
Mit dem durchparsen. Mir ist klar das ich das einfach Zeilenweise machen kann aber wäre das mit einem XML Objekt nicht besser ? Habe mir schonmal OmniXML angesehen aber mir fehlt da der Überblick um die Datei einfach zu öffnen. Habe mit Perl schon mal eine etwas umfangreichere Datei per XML geparst und kam eigentlich gut damit zurecht.
Da ich hier aber nicht nur die Datei Parsen will sondern die XML Datei benutzen will um installierte Sachen anzuzeigen und die Technik benutzen will um mittels neuer Dateien so etwas wie ein Repository aufzubauen dachte ich mir das diese Datei per OmniXML oder etwas anderem gelesen bzw geschrieben wird.

Robert Marquardt 13. Mär 2007 15:20

Re: XML Hilfe benötigt
 
Da hat jemand XML nicht verstanden. Ein Element wie <1967> ist kein XML. 1967 ist ein Wert und kein Schluesselwort (um es mal in Delphiterminologie auszudruecken). Acuh die Verschachtelung der elemente scheint mir dubios.

Bernd Nowak 13. Mär 2007 15:42

Re: XML Hilfe benötigt
 
Bestimmt habe ich XML noch nicht ganz verstanden ansonsten würde ich diese Bitte hier nicht äußern. Also 1967 steht für das Jahr der F1 Saison.
Folgendes Problem soll gelöst werden:

Für die Simulation GPL (F1 1967) gibt es die aktuellen Modifikationen F1 1965 und F1 1969 sowie Thundercars. Hinzukommen werden F1 1966 sowie Sportscars 1967.

Die Optionen / Modifikationen um die es geht betreffen graphische bzw. Wave Dateien.
Es gibt einmal Aktualisierungen für die Kurse (track = Silverstone/Kyalami/Spa/Nürburgring) die teilweise aufeinanderaufbauen. Dann gibt es Sound Dateien von verschiedenen Autoren zur Saison (also 1967/1965/1969/...).

In dieser XML Datei möchte ich jetzt abspeichern welche Modifikation gerade installiert ist anstatt jedesmal die Verzeichnisse durchzugehen um anhand irgendwelcher Dateien festzustellen welche Modifikation installiert wurde.

Ich habe es mal mit einer INI Datei zum Spass angefangen, finde dies aber zu kompliziert (min. 11 Strecken max. 400 Strecken/7 Autosounds/min. 4 Saisons/x Autoren).

Also ich bin froh wenn jemand hier mir hilft das in XML oder anderen Struktur abzubilden :)
Vielleicht hilft diese Information weiter um mir helfen zu können ? Die XML Struktur oben ist einfach so ein simples Grundgerüst das bestimmt nicht alle Fälle abdeckt oder Sachen falsch macht. Hilfe ;)

DGL-luke 13. Mär 2007 15:54

Re: XML Hilfe benötigt
 
Hallo,

so sollts hinhauen:

XML-Code:
<racingsim>
  <modifications>
    <mod name="F1 1965">
      <carsounds>
        <csnd name="..." file="..." />
      </carsounds>
      <tracks>
        <track name="N&uuml;rburgring" file="..." />
      </tracks>
    </mod>
  </modifications>
</racingsim>
du brauchst natürlcih jetzt auch noch "authorsounds" und "seasons".

einzelne tags ohne inhalt bekommen ein / vor der schließenden spitzen klammer, und du kannst natürlich tags aneinanderreihen. sprich hinter das letzte </mod> einfach ein neues <mod>.

Bernd Nowak 13. Mär 2007 16:06

Re: XML Hilfe benötigt
 
Also würdet ihr die Werte in die <zweig name wert="xx" /> mit übergeben wenn ich das richtig verstehen und nicht die Syntax benutzen die ich auch schon gesehen habe: Im Zweig Name <wert>xx</wert>. Oder gibt es Gründe warum oder wann man die eine Syntax der anderen vorzieht ?

Zum Testen ist das aber erstmal nicht ganz so wichtig da ich das letzte Schema von Lukas ja erstmal benutzen könnte könnte und dann erst mal versuchen könnte diese mittels (????)XML parser zu lesen :) wo ich dann wieder auf dem Schlauch stehe. Wenn man nicht die MS Schnittstelle benutzt welche wird dann von euch eingesetzt ?

Ich hoffe es ist in Ordnung hier scheinbar 2 Themen in einem Thread zu haben ;) (XML Schema plus Parser).

DGL-luke 13. Mär 2007 16:30

Re: XML Hilfe benötigt
 
Hallo,

ich mags lieber mit Attributes. Ist ne reine persönliche Präferenz.

Muetze1 13. Mär 2007 20:50

Re: XML Hilfe benötigt
 
Als Parser ohne Abhängigkeit von ActiveX/COM Objekten kann ich sonst mal meine XMLLib hier ansprechen...

Bernd Nowak 14. Mär 2007 08:04

Re: XML Hilfe benötigt
 
Zitat:

Zitat von Muetze1
Als Parser ohne Abhängigkeit von ActiveX/COM Objekten kann ich sonst mal meine XMLLib hier ansprechen...

Werde ich quasi sofort machen :) weil das ja genau das wäre was ich suche. Kann ich in diesem Thread fragen wenn ich Probleme damit habe oder aber per PM ?

Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz