我的应用程序包含8个TextField。当我单击提交按钮时,我想将TextFields中的所有值保存到XML文件中(并在需要时生成XML文件)。我怎样才能做到这一点?如何将数据保存到XML文件中
回答
有很多方法可以做到这一点。一种快速和肮脏的方法是在您的代码中生成一个字符串,并插入值
NSString *myXML = [NSString stringWithFormat:@"<myxml><value1>%@</value1><value2>%@</value2></myxml>", textfield1, textfield2];
然后打开一个文件并写入myXML。
不是很优雅,但它取决于你想要什么。
这个响应需要通过xml转义来增强,否则输出XML可能会失效。 – ThomasRS 2012-06-29 11:27:30
这只是一个非常快速和肮脏的例子,并不意味着不经过测试就被编写和使用在生产代码中! – 2012-06-29 11:36:27
您是否需要XML文件以特定格式?如果不是最简单的方法是将其保存为一个plist中(一个类型的XML文件),把你的字符串到一个数组,然后使用
NSArray *array = [NSArray arrayWithObjects:label1.text, label2.text, label3.text, etc, nil];
[array writeToFile:fileName atomically:YES];
的好处有关的plist是保存阵列是plist你可以很容易地通过调用再次加载字符串:
NSArray *array = [NSArray arrayWithContentsOfFile:filename];
如果你需要你的XML从plist中会产生什么不同的格式,最简单的方法可能只是使用字符串连接,例如,建立自己的XML
NSString *xml = [NSSString stringWithFormat:@"<root><label>%@</label><label>%@</label><label>%@</label>etc</root>", label1.text, label2.text, label3.text, etc];
我更喜欢xml,因为我可能会将此xml发布到服务器 – Cyril 2012-01-18 13:56:56
您可以使用GDATAXML来读取和写入XML文件。 请参阅此链接了解如何完成。 http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml
非常感谢。这看起来很酷。 – Cyril 2012-01-18 14:00:58
将完成工作的另一个XML编写器是XSWI(无耻插件 - 我写了该代码)。
我想用JSON代替。除非有绝对必须使用XML – basvk 2012-06-29 11:32:43