###前提・実現したいこと
お世話になります。
構造体の配列を作成し、その中に情報を格納しそれをxmlとしてテキストファイルに出力するプログラムです
上記のプログラムで、アプリを終了する際に自動で保存できるようにしたいのですが、終了することができず、下記のエラーが表示されてしまいます。
既存のxmlファイルを使用するより、プログラムでファイルを作成させたほうがよいのでしょうか?
###発生している問題・エラーメッセージ
書き込むxmlファイルを指定しそのファイルを検索させる際に
「そのファイルは他のプロジェクトで実行されています」
と表示されます。
もちろんファイルは他のどの場所でも使っていません
###該当のソースコード
C#
1namespace 2{ 3 public partial class Form1 : Form 4 { 5 Info info = new Info(); 6 7 public Form1() 8 { 9 InitializeComponent(); 10 } 11 private void Form1_FormClosed(object sender, FormClosedEventArgs e) 12 { 13 info.SaveData(); 14 } 15 } 16 public class Info 17 { 18 19 public struct Str //情報を入れる構造体 今回はすでに情報は入れてあります 20 { 21 public string Name; 22 public string Num; 23 public string Relationship; 24 public string Other; 25 26 } 27 Str[] str = new Str[10]; 28 29 public void SaveData() 30 { 31 string fname = @"C:\Users\User\Documents\UserData.xml"; 32 XmlTextWriter xtw = null; 33 int x; 34 35 string[] separation = { "\r\n" }; 36 xtw = new XmlTextWriter(fname, Encoding.UTF8); //ここでエラー発生 37 38 xtw.WriteStartDocument(); 39 xtw.WriteStartElement("configlation"); 40 for (x = 0; x <= str.Length; x++) 41 { 42 xtw.WriteStartElement("User" + x); 43 xtw.WriteElementString("Value0", str[x].Name); 44 xtw.WriteElementString("Value1", str[x].Num); 45 xtw.WriteElementString("Value2", str[x].Relationship); 46 xtw.WriteElementString("Value3", str[x].Other); 47 48 } 49 xtw.WriteEndElement(); 50 xtw.WriteEndElement(); 51 xtw.WriteEndDocument(); 52 53 xtw.Close(); 54 55 } 56 57```・多少コードは省かせていただきました(今回の現象の場所とは無関係なため) 58・他のコードの部分で構造体の中に情報を入れてあります。 59・xmlファイルは既に作成してあり、規定の場所においてあります。 60・Using System.Xmlも記述済みです 61 62###試したこと 63ファイルの場所の移動、ファイル名変更等試しました。 64 65###補足情報(言語/FW/ツール等のバージョンなど) 66Visualstudio 2015
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。