現在、LINQ を介して XML ドキュメントとの間でデータを保存および読み取る関数を作成しています。現在、ドキュメントは問題なく記述できますが、既存のアイテムにデータを追加しようとすると、新しいアイテムが追加されるだけです。私の目標は、住所録タイプのシステムを作成することです (はい、1000 種類あることは知っています。これは自分自身の学習プロジェクトです)。ini と基本的なテキストを試しましたが、XML を使用するのが最善の方法のようです。 SQLのようなローカルDB。現在私は持っています:
XDocument doc = XDocument.Load(@"C:\TextXML.xml");
var data = new XElement("Entry",
new XElement("Name", textBox1.Text),
new XElement("Address", richTextBox2.Text),
new XElement("Comments", richTextBox1.Text));
doc.Element("Contacts").Add(data);
doc.Save(@"C:\TextXML.xml");
SOを検索しましたが、追加/置換する方法が見つからないようです。これで、ドキュメントに追加してもすべてが適切に保存されますが、エントリを更新したい場合、新しい「エントリ」を作成せずにどうすればよいかわかりませんし、削除するコツもわかりません。(私はまだC#に少し慣れておらず、独学であるため、見落としている明らかなものはすべてご容赦ください。)
2 つ目の問題は、情報をテキスト ボックスにロードすることです。エントリ名のリストをリストボックスにロードできますが、そのエントリから情報を開こうとすると、ネストされた情報を適切に取得する方法がわかりません。上記の例では、次のようなものが必要です。
XDocument doc = XDocument.Load(@"C:\TextXML.xml");
boxName.Text = The name from the SelectedItem of the list box.
boxAddress.Text = The address child of the element named above etc.
私が試した各メソッドは、null 参照例外で終わります。これは、正しいものを指していないことを示していますが、それらのものに適切に到達する方法がわかりません。また、リスト ボックスから SelectedItem の文字列とvarを作成して名前付けを支援し、ToString メソッドを使用しようとしましたが、まだわかりません。