Cocoa en xml

Hallo,

heeft iemand weet van een goede tutorial
voor xml opslag met cocoa?

Liefst zonder framework van derden,
maar werkend met de xml parser in cocoa.

(er hoeft geen uitleg in te staan over xml)

thx.

je kan een NSDictionary (of NSMutableDictionary) gebruiken, wanneer je die op schijf opslaat (bijvoorbeeld) wordt het een keurige XML file.

klopt, en is zeer handig, maar ik zou een array van objecten, v/e zelfgeschreven klasse, willen wegschrijven.

Als ik dit gewoon probeer zoals met een NSDictionary,
dan wordt het bestand zelfs niet aangemaakt…

Als ik het goed begrijp wil je een NSArray van objecten opslaan in een xml file? Wat bedoel je trouwens met [quote:b44e87a9bf]Als ik dit gewoon probeer zoals met een NSDictionary, dan wordt het bestand zelfs niet aangemaakt…[/quote:b44e87a9bf] In ieder geval, wat je kunt proberen is een NSDictionary te maken van de NSArray bijvoorbeeld mbv +dictionaryWithObjects:forKeys: of +dictionaryWithObjects:forKeys:count:. De NSDictionary kun je dan opslaan in een xml file. Ik weet niet wat de structuur van jouw objecten is, misschien moet je die ook eerst omzetten in een NSDictionary. Maw je krijgt dan uiteindelijk een NSDictionary met als values de NSDictionaries in je NSArray (klink dat nog logisch?)

Of je wacht even op 10.4 waar je mbv CoreData misschien hetzelfde kunt doen. Maar dan veel eenvoudiger :wink:

succes,

  • Koen.

Bedankt voor de reactie.

Als ik het goed snap,
dan zijn er verschillende dictionaries, 1 voor elk object,
en als deze dictionaries a/e array toegevoegd worden,
kan deze array proper naar een .plist geschreven worden?

Het zou mooi zijn,
'k ga een poging wagen.

Lees ook dit even:

http://cocoadevcentral.com/articles/000059.php
en
http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/index.html

  • Koen.

Hartelijk dank voor de tips, de Apple documentatie had ik gelezen, waardoor ik afgestapt was v/d idee om met een .plist te werken. [quote:a935a41ca4] If the object is a container (an array or dictionary), all objects contained within it must also be supported property list objects. (Arrays and dictionaries can contain objects not supported by the architecture, but are then not property lists, and cannot be saved and restored with the various property list methods.)

[/quote:a935a41ca4]

maar nu werkt het,
zowel schrijven, als terug inlezen 8)

voor de geïnteresseerden:

[code:1:a935a41ca4]

NSArray *sleutels;
sleutels = [NSArray arrayWithObjects:@"naamSpeler", @"behaaldeScore", @"datum", nil];

// een dictionary maken per score 
NSDictionary *dictScore;

dictScore = [eenScore dictionaryWithValuesForKeys:sleutels];

// toevoegen a/e 2de array //
[arrScoreDictionaries addObject:dictScore];

[/code:1:a935a41ca4]

(xml voorbeelden/tutorials zijn nog steeds welkom)