我想從c#中加載一個xml文件在windows窗體應用程序的代碼後面。這是我使用的代碼:c#xmldocument加載訪問衝突
XmlDocument xdoc = new XmlDocument();
xdoc.Load("file.xml");
foreach (XmlNode obj in xdoc.SelectNodes("/enabledobjects/object/*"))
{
RadListDataItem item = new RadListDataItem();
item.Text = obj["objectname"].InnerText;
item.Value = obj["value"].InnerText;
DropDownList.Items.Add(item);
}
當我運行調試程序,我gent沒有錯誤。程序開始時應該持續幾秒鐘。然後它崩潰並完成調試。 Visual Studio顯示以下消息:
The program '[6728] Daten Archivar.vshost.exe: Managed (v4.0.30319)' has exited with code -1073741819 (0xc0000005) 'Access violation'.
我擁有完全的管理員權限。該文件保存在相同的exe文件保存爲每個人的完全訪問權限。我不知道爲什麼我無法訪問它。
的xml文件看起來是這樣的:
<?xml version="1.0" encoding="utf-8" ?>
<enabledobjects>
<object>
<objectname>John</objectname>
<value>Carter</value>
</object>
</enabledobjects>
您是否嘗試過使用VS調試器來調試代碼?設置斷點並逐步完成。看來你正在訪問一個沒有正確初始化的對象,如果有的話...... – 2013-02-27 07:49:35
是不是DropDownList的類名? ...不應該是像dropDownList1.Items.Add ... – user1452962 2013-02-27 07:50:56
當我一步一步通過它,它崩潰在 item.Text = obj [「objectname」]。InnerText; 但obj被正確填充而不爲空。問題不能成爲item.Text,因爲當我用item.Text =「」;程序工作 – colosso 2013-02-27 08:01:10