xml の単一の「行」をリストボックス インデックスにロードしようとしています。
<?xml version="1.0" encoding="utf-8"?>
<!--User | 4/16/2013 @ 10:05 PM-->
<ContactBook>
<Contact>
<Name>
<Name>personName</Name>
</Name>
<City>
<City>testCity</City>
</City>
<State>
<State>testState</State>
</State>
<Phone>
<Phone>testPhone</Phone>
</Phone>
</Contact>
</ContactBook>
名前、都市、州、電話番号をリストボックスの 1 行に表示し、次の連絡先をリストボックスの次の行に表示したいと思います。
また、XML ファイルを上書きするのではなく、更新する方法についてのチュートリアルを示す優れたサイトがあるかどうかも知りたいです。
/コメントでの質問による編集/
どこから始めればいいのか本当にわかりませんでした。私のxmlファイルはダイアログ(クラス内のいくつかのテキストボックス)から書かれており、this.Tagはリストボックスを更新し、xmlファイルに保存します。ただし、連絡先情報の 2 番目のセットが保存されると、最初の連絡先情報は追加されずに上書きされます。
/編集/
LexeRoy のおかげで、少し理解が深まりましたが、まだハングアップしています。
private void updateXml_Click(object sender, EventArgs e)
{
var xDoc = XDocument.Load(book);
var listBoxItems = xDoc.Elements("Contact");
listBox1.Items.Add(listBoxItems);
}
ここで、book は xml ファイルへのパスを表す変数であり、listBox1 は明らかです。残念ながら、ボタンをクリックすると、最初の行は次の値を取得します。
System.Xml.Linq.XContainer+<GetElements>d_11
データソースが宣言されたので、例外がスローされます。