我想创建一个使用关卡系统的游戏。所以我想存储我的关卡并且能够在游戏中更改它们(以保存状态)。所以我决定使用XML来存储关卡。我发现NSXmlParser类用于从XML读取,但我找不到保存级别状态的编写器。在我的游戏中,关卡状态和关卡非常相似(我有很多可移动的对象),所以我不想存储与它所属的关卡分开的关卡状态数据。问题是我无法找到一种方法来轻松修改iPhone上的XML文件。也许我正在使用糟糕的方法。
答案 0 :(得分:5)
如果您将数据投放到NSDictionary
,您可以(有警告):
[myDictionary writeToFile:pathToPlist atomically:YES];
答案 1 :(得分:5)
尝试开源XML stream writer for iOS:
示例:
// allocate serializer
XMLWriter* xmlWriter = [[XMLWriter alloc]init];
// start writing XML elements
[xmlWriter writeStartElement:@"Root"];
[xmlWriter writeCharacters:@"Text content for root element"];
[xmlWriter writeEndElement];
// get the resulting XML string
NSString* xml = [xmlWriter toString];
这将生成以下XML字符串:
<Root>Text content for root element</Root>
答案 2 :(得分:5)
答案 3 :(得分:3)
您可以使用C libary libxml2
来读写XML。这是一个快速介绍:Cocoa Samurai: Getting Some XML Love with libXML2。
但是,您是否考虑过使用CoreData或实施NSCoding
协议? NSCoding
会更容易添加到现有的类中。