zahlenfolge in einer Datei korrigieren

  • Hallo zusammen,

    Kann mir jemand helfen, irgendwas ist da falsch, eigentlich möchte ich nur die Zahlen in der Datei neu.txt

    Code
    <aktenid Akte=" ZAHL ">

    in Rheinfolge einordnen also 0 1 2 3 unsw.

    Wenn aber mal eine Nummer 2 mal vorkommt dann ersetze mit der Zahl in der Rheinfolge.

  • Ich würde das direkt mit arrays machen:

  • Hi MojoeB ,

    für den Fall das deine XML-Datei konstant aufgebaut ist und du wirklich nur die XML-Knoten Werte von "aktenid" ersetzen willst und nicht die Kind-Knoten darunter ebenfalls neu sortieren willst/musst, ist die Sache recht einfach 😁 :

    • Ich bin gespannt ob ich dich richtig verstanden habe.
    • Wenn dir die Benamung der Funktionen und Variablen als Erklärung nicht ausreicht, dann sage bitte Bescheid 😉 .


    Viele Grüße
    Sven

  • Mahlzeit!

    Und hier noch die eher 'klassische' Methode aus den 'guten alten Zeiten':

    Meine Annahmen darüber, was das Skript tun soll, decken sich mit denen von SOLVE-SMART.

  • Hier ein weiterer 'rustikaler' Lösungsansatz ^^ :

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • @Moombas : leider funktioniert deine Methode in meinem Beispiel nicht so wie ich mir das Vorstelle dennoch danke für deine Mühe.

    @SOLVE-SMART & Velted :

    Beide eure, Methoden funktionieren, super auch mit meiner Beispieldatei zusammen. Danke euch :)

    @SOLVE-SMART :

    Deine Skript sieht so schön Clean aus, ich werde es in mein Skript mit einbauen. Und wenn alles gebaut ist schauen ob es dann auch noch so super funkitoniert :).

    Danke für die zu Arbeit.

  • MojoeB Was hat denn nicht funktioniert? Er sortiert korrekt und entfernt doppelte Werte.

    Da du das abspeichern nicht im Beispiel hattest, habe ich das weg gelassen (Endwert kann über _ArrayDisplay() geprüft werden).

    Geprüft habe ich das auch mit deiner Datei, daher würde mich das interessieren.

  • Hi MojoeB ,

    freut mich, ich drück die Daumen das du gut mit deinem Projekt vorankommst.

    SOLVE-SMART :

    Deine Skript sieht so schön Clean aus, ich werde es in mein Skript mit einbauen.

    Made my day 👍 😊 , "Clean" => love it 😅 .

    Auch wenn ich die "[...] eher 'klassische' Methode aus den 'guten alten Zeiten' [...]" ( Velted) und den "[...] 'rustikaler' Lösungsansatz [...]" ( Musashi) zum Schießen witzig finde 😂 .
    Ist positiv gemeint ihr beiden, kurz, old school und rustikal 👍 .


    Viele Grüße
    Sven

  • Moombas, Ja dein Ergebnis ist ja auch nicht falsch, nur nicht so wie ich es erwartet hatte.

    Ich habe mich bestimmt auch nicht ganz gut ausgedrückt.

    im Grunde soll es bei 0 anfangen und dann nummeriert werden. <aktenid Akte="ZAHL">

    bsp . als ist zustand der Datei sieht das Konstrukt so aus (kann natürlich auch anders aussehen :

    <aktenid Akte="0">

    ...

    </aktenid>

    <aktenid Akte="44">

    ...

    </aktenid>

    <aktenid Akte="5">

    ...

    </aktenid>

    <aktenid Akte="99">

    ...

    </aktenid>

    Und so ist der SOLL zustand :

    <aktenid Akte="0">

    ...

    </aktenid>

    <aktenid Akte="1">

    ...

    </aktenid>

    <aktenid Akte="2">

    ...

    </aktenid>

    <aktenid Akte="3">

    ...

    </aktenid>


    ="ZAHL"> 

    Nur ZAHL soll in der reinfolge ersetzt bzw. geändert werden in Fortlaufende Nummern.

    Dein Beispiel löscht die doppelten Nummern und ersetzt diese nicht in Fortlaufende Nummern, allerdings ist das Array richtig geordnet.

    Deswegen Moombas dein Lösungsvorschlag war nicht falsch aber nicht das was ich erreichen wollte, ich hab mich auch mal wieder doof ausgedrückt ;)