gpt4 book ai didi

c# - 如何使用 LINQ 查询嵌入的 XML 文件?

转载 作者:行者123 更新时间:2023-11-30 22:17:32 25 4
gpt4 key购买 nike

[C# .NET 4.0 WinForm LINQ]

我有一个 XML 文件作为 Content 添加到我的项目中,但我现在必须将它变成一个内部的嵌入式资源,以便它可以与可执行文件一起编译,而我不会必须为应用程序创建安装/部署包。

但是,我有使用 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 ,使用程序集将文件读入字符串...这是我必须做的吗?不想进一步暴露我内心的菜鸟,但如果是这样的话,上面链接中的示例是否会返回一个分隔字符串,我可以循环遍历该字符串,以便将项目添加到我的列表框中?

谢谢...

最佳答案

将嵌入式资源作为流打开:

XElement doc;
using (var stream = typeof(SomeTypeInTheAssembly).Assembly
.GetManifestResourceStream("MyXML.xml"))
{
doc = XElement.Load(stream);
}

无需通过中间字符串表示。

关于c# - 如何使用 LINQ 查询嵌入的 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16692249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com