Невозможно выполнить LINQ для этого XML - PullRequest
0 голосов
/ 01 февраля 2010

У меня есть файл XML. Я не могу выполнить какой-либо запрос XLINQ для этого XML.

Я также использовал 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>

1 Ответ

0 голосов
/ 01 февраля 2010

Проблема не в ваших тегах SolutionProfile, а в наличии в нем атрибута xmlns.

Дубликат существующего вопроса SO.Посмотрите здесь для точного ответа.

О, и вам понадобится дополнительная "/" в конце вашего пространства имен, если вы будете следовать решению в ссылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...