私はこの愚かなフォームに固執しています... heres my code。それはストリームライターが望んでいる場所に保存しますが、ユーザーがsaveialogボックスを使用して保存したい場所に保存すると、XMLが作成されますが、何も入れません!それは私を風にし始めているように誰かが見ていることができます!Windowsフォーム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();
}
}
これは、StreamWriterのです...
public void SaveValues(Values v)
{
XmlSerializer serializer = new XmlSerializer(typeof(Values));
using(TextWriter textWriter = new StreamWriter(@"E:\TheFileYouWantToStore.xml"))
{
serializer.Serialize(textWriter, v);
}
...
}
EDIT:
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ライター= XmlWriter.Create(@ "E:\ TheFileYouWantToStore.xml")? for Valuesクラスを投稿します。 –
オリジナルの投稿を編集しました、ありがとうございます!ファイル上のすべての編集は、フォーマット済みのファイルではなくXMLを1行のテキストに変更することでした。 –
これは基本的な誤りです。SaveValues()メソッドには、* myStream *を渡すための余分な引数が必要です。 –