【发布时间】:2012-05-12 20:47:23
【问题描述】:
我坚持使用这种愚蠢的形式...这是我的代码。它将它保存在流编写器想要的位置,但是当我通过保存对话框将它保存在用户想要的位置时,它会创建 XML,但不会在其中放入任何内容!有人可以看一下,因为它开始让我发疯了!
void SavebuttonClick(object sender, EventArgs e)
{
Stream myStream ;
SaveFileDialog savefile1 = new SaveFileDialog();
savefile1.Filter = "xml files |*.xml" ;
savefile1.FilterIndex = 2 ;
savefile1.RestoreDirectory = true ;
if(savefile1.ShowDialog() == DialogResult.OK)
{
if((myStream = savefile1.OpenFile()) != null)
{
Values v = new Values();
v.task1_name = this.task1_name.Text;
v.task1_desc = this.task1_desc.Text;
v.task1_date = this.task1_date.Value;
v.task1_time = this.task1_time.Value;
SaveValues(v);
}
myStream.Close();
}
}
这是流媒体...
public void SaveValues(Values v)
{
XmlSerializer serializer = new XmlSerializer(typeof(Values));
using(TextWriter textWriter = new StreamWriter(@"E:\TheFileYouWantToStore.xml"))
{
serializer.Serialize(textWriter, v);
}
...
}
编辑:
public class Values
{
public string task1_name { get; set;}
public string task1_desc { get; set;}
public DateTime task1_date { get; set;}
public DateTime task1_time { get; set;}
}
我想这是你的意思的代码,虽然我对编码相当陌生 :(
【问题讨论】:
-
你可以试试 XmlWriter writer = XmlWriter.Create(@"E:\TheFileYouWantToStore.xml") 吗?并发布 for Values 类。
-
编辑了我的原帖,谢谢!对文件所做的所有编辑都是将 XML 更改为一行文本,而不是一个格式良好的文件。
-
这是一个基本错误,SaveValues() 方法需要一个额外的参数,因此您可以传递 myStream。
-
我不确定如何添加这个额外的参数?你必须原谅我,我是编码新手。谢谢!
标签: c# xml windows forms streamwriter