【发布时间】:2012-04-26 13:55:33
【问题描述】:
我有一个表单,其中包含用户输入的信息,我想将其保存到 XML...我对编程还很陌生,但阅读过 XML 是最好的选择。我该怎么办?如果它有助于我使用 Sharp Develop 作为 IDE。目前它有 10 个文本框和 10 个日期时间选择器。
【问题讨论】:
-
请不要在标题前加上“C#”之类的前缀。这就是标签的用途。
我有一个表单,其中包含用户输入的信息,我想将其保存到 XML...我对编程还很陌生,但阅读过 XML 是最好的选择。我该怎么办?如果它有助于我使用 Sharp Develop 作为 IDE。目前它有 10 个文本框和 10 个日期时间选择器。
【问题讨论】:
最简单的方法是创建一个类,将这 10 个值存储为属性,并使用 xml 序列化将其转换为 XML,然后将其存储到文件系统中。
这里有一个教程:http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization
更多细节:
这是超级基本的面向对象/Windows 窗体的东西。
创建一个存储每个值的类:
public class Values{
public string YourFirstValue { get; set;}
public DateTime YourSecondValue { get; set;}
...
}
当然,您希望名称能够映射到它们的实际含义,但现在这些就足够了。
然后,当单击表单上的按钮时,将值存储在该类中:
void Button1_OnClick(object sender, EventArgs args){
Values v = new Values();
v.YourFirstValue = this.FirstField.Text;
v.YourSecondValue = this.YourSecondField.Value
...
SaveValues(v);
}
然后实现SaveValues方法对xml进行序列化,使用XmlSerializer进行序列化,StreamWriter将结果存储到文件中。
public void SaveValues(Values v){
XmlSerializer serializer = new XmlSerializer(typeof(Values));
using(TextWriter textWriter = new StreamWriter(@"C:\TheFileYouWantToStore.xml")){
serializer.Serialize(textWriter, movie);
}
}
【讨论】: