我有一个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>
答案 0 :(得分:0)
问题不在于您的SolutionProfile标记,而是在其中存在xmlns属性。
复制现有的SO问题。请查看here以获取确切答案。
哦,如果您按照链接中的解决方案,您将需要在命名空间的末尾添加额外的“/”。