【发布时间】:2013-02-27 16:51:20
【问题描述】:
我正在尝试在 Windows 窗体应用程序后面的代码中从 c# 加载 xml 文件。这是我使用的代码:
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);
}
当我运行调试程序时,我没有错误。程序按应有的方式启动了几秒钟。然后它carashes并完成调试。 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-debugger 调试您的代码?设置断点并单步执行。看来您正在访问一个未正确初始化的对象,如果有的话......
-
DropDownList 不是类名吗? ...不应该像 dropDownList1.Items.Add ...
-
当我逐步浏览它时,它会在 item.Text = obj["objectname"].InnerText;但 obj 已正确填充且不为空。问题不能是 item.Text 因为当我尝试使用 item.Text="";该程序有效
-
@colosso
item.Text=""与item.Text=null不同。
标签: c# xml winforms visual-studio code-behind