【发布时间】:2013-05-22 12:49:59
【问题描述】:
[C# .NET 4.0 WinForm LINQ]
我有一个 XML 文件作为 Content 添加到我的项目中,但我现在必须将其设置为内部的嵌入式资源,以便它可以与可执行文件一起编译,而我不必创建安装/deployment 应用程序包。
但是,我有使用 LINQ 来查询 XML 文件的现有代码,现在我已将该文件设为嵌入式资源,这些代码将无法工作。 如果 XML 文件是嵌入式资源,与它是内容资源时相比,我需要做些什么不同的事情才能查询它?我已经看到了一些
一旦我查询了 XML 文件,我就会遍历结果并将它们加载到一个列表框中。这是我用来查询 XML 文件的代码,当它设置为 Content 时,我的循环将添加到列表框中:
var computers = from e in XElement.Load(@"MyXML.xml").Elements("computer")
select (string)e.Element("name");
foreach (var c in computers)
{
if (!IsNullOrEmpty(computer))
{
lstComputer.BeginUpdate();
lstComputer.Items.Add(computer);
lstComputer.EndUpdate();
}
}
我见过一些其他的例子,比如this one,它们使用程序集将文件读入字符串...这是我必须做的吗?不要进一步揭示我内心的菜鸟,但如果是这样的话,上面链接中的示例是否返回一个分隔字符串,我可以循环访问以便将项目添加到我的列表框?
谢谢...
【问题讨论】:
标签: c# .net winforms linq linq-to-xml