无法对此 XML 执行 LINQ

发布于 2024-08-20 04:53:06 字数 1033 浏览 4 评论 0原文

我有一个 XML 文件。我无法对此 XML 执行任何 XLINQ 查询。

我还使用 LINQPad 进行测试,但它没有返回任何结果。

示例查询:

XDocument doc = XDocument.Load(@"G:\Plugins.xml");
var res = from plugin in doc.Descendants("Modules")
          select plugin;
res.Dump();

XML 文件是:

<SolutionProfile xmlns="http://schemas.microsoft.com/pag/cab-profile">
    <Modules>
        <ModuleInfo AssemblyFile="xxxx.dll" />
        <ModuleInfo AssemblyFile="xxxx.dll" />
        <ModuleInfo AssemblyFile="xxxx.dll" />
        <ModuleInfo AssemblyFile="xxxxx.dll" />
        <ModuleInfo AssemblyFile="xxxxx.dll" />

        <ModuleInfo AssemblyFile="xxxxxx.dll" />
    </Modules>
</SolutionProfile>

这是一个 SCSF 和 CAB XML 文件。如果我从 XML 查询中删除以下标记,则效果很好。

<SolutionProfile xmlns="http://schemas.microsoft.com/pag/cab-profile">
</SolutionProfile>

I have an XML file. I am unable to perform any XLINQ query on this XML.

I also used LINQPad to test, but it is not returning any result.

Sample query:

XDocument doc = XDocument.Load(@"G:\Plugins.xml");
var res = from plugin in doc.Descendants("Modules")
          select plugin;
res.Dump();

And the XML file is:

<SolutionProfile xmlns="http://schemas.microsoft.com/pag/cab-profile">
    <Modules>
        <ModuleInfo AssemblyFile="xxxx.dll" />
        <ModuleInfo AssemblyFile="xxxx.dll" />
        <ModuleInfo AssemblyFile="xxxx.dll" />
        <ModuleInfo AssemblyFile="xxxxx.dll" />
        <ModuleInfo AssemblyFile="xxxxx.dll" />

        <ModuleInfo AssemblyFile="xxxxxx.dll" />
    </Modules>
</SolutionProfile>

This is a SCSF and CAB XML file. If I remove the following tag from the XML query works fine.

<SolutionProfile xmlns="http://schemas.microsoft.com/pag/cab-profile">
</SolutionProfile>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁把谁当真 2024-08-27 04:53:06

问题不在于您的 SolutionProfile 标记,而在于其中存在 xmlns 属性。

现有 SO 问题的重复。请查看此处 获取确切答案。

哦,如果您按照链接中的解决方案进行操作,您将需要在命名空间末尾添加一个额外的“/”。

The issue is not with your SolutionProfile tags, but rather the presence of the xmlns attribute in it.

Duplicate of an existing SO question. Look here for the exact answer.

Oh, and you'll be needing an extra "/" on the end of your namespace if you follow the solution in the link.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文