2012-01-18 68 views
1

我的应用程序包含8个TextField。当我单击提交按钮时,我想将TextFields中的所有值保存到XML文件中(并在需要时生成XML文件)。我怎样才能做到这一点?如何将数据保存到XML文件中

+0

我想用JSON代替。除非有绝对必须使用XML – basvk 2012-06-29 11:32:43

回答

0

有很多方法可以做到这一点。一种快速和肮脏的方法是在您的代码中生成一个字符串,并插入值

NSString *myXML = [NSString stringWithFormat:@"<myxml><value1>%@</value1><value2>%@</value2></myxml>", textfield1, textfield2]; 

然后打开一个文件并写入myXML。

不是很优雅,但它取决于你想要什么。

+0

这个响应需要通过xml转义来增强,否则输出XML可能会失效。 – ThomasRS 2012-06-29 11:27:30

+0

这只是一个非常快速和肮脏的例子,并不意味着不经过测试就被编写和使用在生产代码中! – 2012-06-29 11:36:27

0

您是否需要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]; 
+0

我更喜欢xml,因为我可能会将此xml发布到服务器 – Cyril 2012-01-18 13:56:56

1

将完成工作的另一个XML编写器是XSWI(无耻插件 - 我写了该代码)。