作成中の Windows フォーム アプリケーションがあり、xml ファイルを作成してデータを追加したいと考えています。
コードは以下のとおりです。
xmlFile = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XComment("XML File for storing " + RootName));
xmlFile.Add(new XElement(RootName));
// Loop through the list and create a new element for each item in the list
foreach (Contact c in contactsList)
{
try
{
xmlFile.Add(new XElement("Contact",
new XElement("Name", c.Name),
new XElement("Email", c.EmailAddress),
new XElement("Mobile Number", c.MobileNumber),
new XElement("Mobile Carrier", c.sMobileCarrier)
)
);
}
catch
{
MessageBox.Show("ERROR WITH NEW ELEMENTS");
}
}
xmlFile.Save(FileName);
プログラムを実行すると、try ブロックがスローされてエラーが発生し、メッセージ ボックス エラーが表示されます。デバッグすると、プログラムは例外が次のものに関係していると言います:
The ' ' character, hexadecimal value 0x20, cannot be included in a name.
渡されたすべての値とエントリのポイントまでを確認したため、これが何を意味するのかわかりません。
xmlFile.Add()
ステートメントにパラメーターがありませんか?
最後の質問です。XDocument オブジェクトを作成した後に Root 要素を挿入すると、ファイルに として出力されます<Contacts />
。これを終了ルート タグにしたいと考えています。
開始タグを挿入し、最後に保存するときに終了タグを追加するにはどうすればよいですか?
ありがとう
更新--------------------- MarcinJuraszek のおかげで、スローされた例外を回避できましたが、次のエラーが発生しました。
This operation would create an incorrectly structured document.
それが何を意味するのか、何が原因なのか、何か考えはありますか?