Schreiben in eine XML Datei

  • Hallo Zusammen,

    ich starte eine Anwendung per Skript nun muss diese mit unterschiedlichen Parametern gestartet werden welche alle in einer XML (liegt im selben Verzeichnis) liegen.

    Gibt es eine Möglichkeit in solch einer Datei zu schreiben?

    Danke und Grüße

    Ben

    Einmal editiert, zuletzt von bentom (22. Januar 2008 um 14:38)

  • Und auch wenn es kein Text wäre, könnte man Bit für Bit in die Datei schreiben :D
    Ist halt nur etwas komplizierter...

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hallo,

    danke für die Antworten, sorry habe damit noch keine Erfahrungen habe bisher lediglich diese INI Files ausgelesen und dass ist ja nicht besonders schwierig. Mit was schreib ich denn da rein bzw. wie suche ich die Stelle an der ich es reinschreibe.

    Danke und Grüße

    Ben

  • Vielen Dank schonmal, die ersten Einträge konnte ich schon setzen. Habe ein paar ganz nützliche Befehle gefunden.
    Bei einem hakt es aber noch gewaltig. Vielleicht kann jemand weiterhelfen.

    Mtten in dieser XML Datei steht folgender Ausdruck:

    Spoiler anzeigen

    <entry name="W">1292</entry>

    Wenn ich die dazugehörige Software (den DVBViewer) starte dann werden beim schließen immer die aktuelle Koordinaten des Fensters gesetzt.

    Das möchte ich aber nicht denn beim nächsten Start ist das Fenster wieder etwas verschoben. Stattdessen soll immer mit:

    Spoiler anzeigen

    <entry name="W">1920</entry>

    gestartet werden. Dann weiß ich sicher dass es bei jeder Auflösung klappt. Nun habe ich bisher die Funktion

    _ReplaceStringInFile genutzt. Hier wird es aber schwierig da quasi jedesmal ein anderer Wert (eben je nach Auflsöung), in der Zeile steht. Zudem kommt noch dass 2 Anführungszeichen verwendet werden. Kann mir hier jemand weiterhelfen.


    Danke und Grüße

    Ben

  • Mein Vorgehen wäre folgendes:

    - öffne Eingangsdatei
    - Datei Zeile für Zeile lesen (FileReadLine)und in eine $Variable (incl. angehängten CRLF) schreiben
    - wenn betreffende Zeile (StringLeft($zeile,16) = "<entry name=""W"">") dann schreibe Standardzeile in $Variable
    - schließe Eingangsdatei
    - überschreibe Datei mit $Variable

    Fertig....

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Vielen Dank für eure Hilfe. Klappt wunderbar und verstanden hab ichs sogar auch noch :)

    Ne Spaß beiseite Danke nochmals und Beste Grüße

    Ben

  • Hallo nochmals,

    komme soweit sehr gut mit der beschriebenen Methode zurecht allerdings rein interessehalber: Gibt es nicht die Möglichkeit direkt XML Dateien zu editieren also so wie beispielsweise INI Dateien. Finde das einfach sehr komfortabel, deswegen die Nachfrage.

    Grüße

    Alex

  • Komfortabel mögen diese Dateiänderungen nicht sein, aber wenn Du das einmal richtig drauf hast, kannst Du jede Datei ändern, egal ob ini, txt, xml, html, bin oder andere.

    Ist eigentlich immer der gleiche Ablauf:
    - Datei(en) öffnen (fileopen)
    - Schleife starten
    - Daten lesen (fileread, filereadline)
    - Daten ggf. ändern (If-Funktion, StringMid, StringReplace u.a.)
    - Daten schreiben (filewrite, filewriteline)
    - Schleife beenden
    - Datei(en) schließen (fileclose)
    (jedenfalls grob gesehen)

    Meist ist das mit 10 Zeilen Script erledigt. Und wenn Du eine UDF oder ähnliches benutzt mag das komfortabler sein, aber wenn die UDF dann nicht ganz genau das macht was Du brauchst, sitzt Du wieder auf dem Schlauch.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hallo,,
    danke für die Antwort. Du hast sicherlich recht. Diese Vorgehensweise funktioniert sehr gut allerdings ist diese XML Wrapper Geschichte schon sehr konfortabel vor allem wenn wirklich eigene XMLs aufgebaut werden müssen. Ich spiele mich gerade ein bisschen damit und finde das schon sehr sehr gut. Trotzdem das vorgeschlagen Skript mit dem Auslesen hat mich erstmal ser viel weitergebracht.

    Grüße

    Ben