Запрос xml с linq - PullRequest
       36

Запрос xml с linq

0 голосов
/ 27 мая 2011

Я пытаюсь запросить некоторую информацию из xml с помощью linq, но получаю ошибку, подобную этой - да, я определил - с помощью System.Linq. Не могли бы вы сказать мне, где проблема?Спасибо

Ошибка 1 Не удалось найти реализацию шаблона запроса для типа источника 'urn.P.IEEE.Item1671.Item2.Item2008.Item02.InstrumentDescription.InstrumentDescription'.«Выбрать» не найдено.D: \ Documents and Settings \ e539951 \ мои документы \ visual studio 2010 \ Projects \ WindowsFormsApplication1 \ WindowsFormsApplication1 \ Form1.cs 28 36 WindowsFormsApplication1

InstrumentDescription test = InstrumentDescription.Load(openFileDialog1.FileName);
 var query = from b in test
             select  new {  b.Identification };

Ответы [ 2 ]

1 голос
/ 27 мая 2011

В вашем коде test представляет собой только корневой элемент документа, поэтому вы не можете использовать LINQ для него - это не последовательность.

Что вы должны сделать, зависит от того, как выглядит ваш XSD,Например, если в корневом элементе InstrumentDescription может быть несколько элементов Identification, то простой доступ к test.Identitication даст вам список.

0 голосов
/ 27 мая 2011

Вы обрабатываете InstrumentDescription вместо XDocument, поэтому, вероятно, вам необходимо убедиться, что класс InstrumentDescription является IQueryable.

Если вы действительно хотите использовать Linq для своего XML, вам нужно либо загрузить его как набор данных, либо использовать Linq2XML (using System.Xml.Linq).

Подробнее здесь. http://msdn.microsoft.com/en-us/library/system.xml.linq.aspx

...