Mit Applescript xml-Datei auslesen?

eponine

Boskoop
Registriert
27.03.19
Beiträge
41
Hallo, ich bin absoluter Anfänger bzgl. Applescripts, vielleicht kann mir jemand folgende Frage beantworten:
Mir liegt eine .xml-Datei vor, aus der ich gerne irgendwie die Informationen nutzen möchte.
In der Datei steht z.B.:
<items>
<article itemNo="01300"
quantity="1"
>

<file name="80077810.jpg"
/>
</article>
<article itemNo="01800"
quantity="1"
>

<file name="80077811.jpg"
/>

</article>
</items>

Mein Wunsch wäre nun ein Script, welches die Ordner 01300 und 01800 (also article itemNo) erstellt und die jpg-Dateien (die liegen in dem Ordner, in dem auch die xml-Datei liegt) in die Ordner kopiert, und zwar so oft wie bei quantity angegeben.

Geht so etwas und wenn ja wie? Ich erwarte hier keine kostenlose Lösung, aber bevor ich mich jetzt da verrenne wär ich für eine Einschätzung dankbar.
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.358
Hallo,

ja, dein Vorhaben ist definitiv umsetzbar .... nur mit "reinem" AppleScript wird das sehr aufwändig... mit Zuhilfenahme eines Shellscripts dagegen definitiv einfacher. Mögliche "Werkzeuge" sind z.B. awk, sed und grep.

Ein in AppleScript eingebettetes Shellscript könnte so aussehen:
Code:
set x to do shell script "cat /Pfad/zu/Datei/xxx.xml | awk -F'items' '/=/' | cut -f2- -d= | xargs -n3 echo |tr ' ' ' '"
Alle Zeilen nach "items", die ein "=" enthalten, davon nur, was nach dem "=" steht und jeweils drei davon als Dreiergruppe mit Leerzeichen getrennt in eine Zeile.
Die Ausgabe ("x") ist quasi schon servierfertig, um sie easy mit AppleScript weiter zu verarbeiten.

und die jpg-Dateien […] in die Ordner kopiert, und zwar so oft wie bei quantity angegeben.
Ich sehe keinen Sinn darin, aber da kannst du dir ja schon mal Gedanke machen, wie du die umbenennst... mit fortlaufenden Nummern?

Gruß
 
  • Like
Reaktionen: ottomane

eponine

Boskoop
Registriert
27.03.19
Beiträge
41
Hallo! Danke für deine Einschätzung und deine konkreten Vorschläge!
Ich werde meinen Chef vorschlagen, das programmieren zu lassen, ich wollte mich vorher nur absichern, ob es generell möglich ist. Na gut, ich gebe zu ich dachte, ich könnte das eventuell selbst, aber ich bin da völlig raus. Bin ja auch nur Pixelschubser. Vielen vielen Dank. Auch nochmal für deine Scripts von meiner letzten Anfrage, ich liebe sie!
 
  • Like
Reaktionen: ottomane