• Es gibt nach dem Softwareupdate eine Reihe von Änderungen und Neuerungen in unserem Forum. Genaueres dazu findet Ihr in dieser Ankündigung. Hinweise, Kritik, Anregungen, Lob und Tadel bitte hier diskutieren.
Apfeltalk Weihnachtsbanner

XMl - Einzelne Variable ändern

Bomberzocker

Auralia
Mitglied seit
08.06.08
Beiträge
202
Nachdem ich das Internet durchsucht habe nach einer Möglichkeit um Variablen zu Speichern & Laden bin ich auf XML gekommen. Mit .txt Dateien, was ich vorher versucht habe, ist es zu aufwändig.
XMl-Dateien kann ich mit Applescript erstellen und lesen.

Wie kann ich nur einzelne Werte in der XML-Datei verändern, so dass ich nicht alle Variablen wieder zusammentragen muss, um dann die ganze Datei neu zu erstellen?

Mit der Möglichkeit das x'te Wort zu verändern, wie in .txt Dateien, komm ich hier nicht weiter.
 

Hauwau

Cripps Pink
Mitglied seit
12.07.09
Beiträge
155
Am einfachsten wäre XML in Variable laden, das was du verändern willst verändern (Stichwort: Nodes/XPath zum finden) und wieder abspeichern
 

Bomberzocker

Auralia
Mitglied seit
08.06.08
Beiträge
202
Am einfachsten wäre XML in Variable laden, das was du verändern willst verändern und wieder abspeichern
Also du meinst alles in verschiedene Variablen auslesen und die zu verändernde Variable umändern und dann wieder speichern?
Das wäre aber fast so aufwendig wie alle benutzen Variablen im Skript zu sammeln und dann zu speichern. Wenigsten kann man dabei dann nichts vergessen, da es ja in der XMl-Datei drin steht.
Trotzdem danke, bin gar nicht erst auf die Idee gekommen.

(Stichwort: Nodes/XPath zum finden)
Ich verstehe jetzt nicht, was ich jetzt damit machen soll/wie mir das weiterhelfen soll.
 

LittlePixel

Strauwalds neue Goldparmäne
Mitglied seit
09.07.08
Beiträge
641
Hallo,

Du mußt das Rad nicht neu erfinden ;)

Was Du brauchst sind "Property Lists": http://www.macosxautomation.com/applescript/features/propertylists.html

Um Deine Frage noch zu beantworten:
Ja, ein XML selbst lesen, schreiben und bearbeiten ist auch möglich.
Siehe dazu XML Suite in der Bibliothek.
Aber das wird zu Beginn schwierig für Dich sein - Deine Frage nach einem "Node" zeigt das.

Viele Grüße
 
  • Like
Wertungen: Bomberzocker

Bomberzocker

Auralia
Mitglied seit
08.06.08
Beiträge
202
Hallo,

Du mußt das Rad nicht neu erfinden ;)

Was Du brauchst sind "Property Lists": http://www.macosxautomation.com/applescript/features/propertylists.html

Um Deine Frage noch zu beantworten:
Ja, ein XML selbst lesen, schreiben und bearbeiten ist auch möglich.
Siehe dazu XML Suite in der Bibliothek.
Aber das wird zu Beginn schwierig für Dich sein - Deine Frage nach einem "Node" zeigt das.

Viele Grüße
Danke für deinen Tipp. Hast du noch nen paar andere Websites mit Tipps zum Umgang mit .plist's? Habe jetzt auf Anhieb nichts gefunden. Muss später mal danach weitersuchen.

Du meinst mit der Bibliothek die AppleScript-Editor Bibliothek, oder? Da ist nichts mit xml.

btw: Mit scripting additions zu xml hab ich auch schonmal was probiert, aber nachdem die mitgelieferten Beispiele schon nicht funktionieren, dachte ich mir, dass das schon nicht funktionieren kann.
 

LittlePixel

Strauwalds neue Goldparmäne
Mitglied seit
09.07.08
Beiträge
641
Wie?
Das glaube ich Dir nicht ;)

XML file n [inh. file > disk item > item] : A file containing data in XML format
elements
contained by application.
properties
contents (XML data) : the contents of the XML file; elements and properties of the XML data may be accessed as if they were elements and properties of the XML file
XML element n [inh. item] : A unit of data in XML format
elements
contains XML attributes, XML elements; contained by XML datas, XML elements.
properties
id (text, r/o) : the unique identifier of the XML element
name (text, r/o) : the name of the XML element
value (any) : the value of the XML element
XML attribute n [inh. item] : A named value associated with a unit of data in XML format
elements
contained by XML elements.
properties
name (text, r/o) : the name of the XML attribute
value (any) : the value of the XML attribute
Mit den drei Sachen kann man das meiste lösen.

Aber wie gesagt ist die *.plist Deine Wahl.

Du hast nichts gefunden?

http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/PropertyLists/Introduction/Introduction.html

Viele Grüße
 

LittlePixel

Strauwalds neue Goldparmäne
Mitglied seit
09.07.08
Beiträge
641
Anbei noch ein Beispiel, wie Du einen Wert ändern kannst.

Viele Grüße
 

Anhänge:

Bomberzocker

Auralia
Mitglied seit
08.06.08
Beiträge
202
also xml werd ich jetzt erstmal zurückstellen und plsit nutzen.
Das "Das glaube ich Dir nicht" kann ich jetzt nicht ganz zuordnen, aber ich habe dort sicher nicht mit xml stehen, oder wir reden von zwei verschiedenen Dingen :)
Dein Link war nett gemeint führte mich aber zu Cocoa, was ich nicht gebrauchen kann.

Der Anhang sieht so aus, als würde der genau sowas sein, was ich suche.