Мое приложение получает данные из веб-службы SharePoint (используя запрос SOAP и CAML), я использую документ Xdocument для хранения извлеченного xmlNode и затем назначаю xdocument XMLDataSource, который привязан к gridView.Как фильтровать Xdocument и возвращать Xdocument?
Теперь мне нужно отфильтровать Xdocument перед привязкой, чтобы выбрать только те записи, где элемент (ows_Partner_x0020_Type) соответствует переменной.
Я пытаюсь так:
doc = doc.Descendants(z + "row").Where(rows => rows.Attribute("ows_Partner_x0020_Type").Value == Partner_Type.SelectedValue);
или
var bar = doc.Descendants(z + "row").Where(rows => rows.Attribute("ows_Partner_x0020_Type").Value == Partner_Type.SelectedValue);
, но проблема в том, что тип возвращаемого выше LINQ является System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>
который не бросить ничего подобного XDocument, который требуемый формат для привязки к XMLDataSource как doc.ToString().
Надеюсь, что смогу объяснить проблему.
Большое спасибо.
Вишал
Спасибо, что это работает, проблема заключается в том, что она создает одну и ту же структуру трижды. как база {System.Xml.Linq.XContainer}: Декларация: нулевая DocumentType: нуль NodeType: Документ Корень: –
Vishal
Кстати тип бара: System.Linq.Enumerable.WhereEnumerableIterator –
Vishal
@VishalSachdeva: Очень сложно сказать, что у вас есть. Что произойдет, если вы выгрузите весь документ * в качестве документа XML *? Я подозреваю, что у вас только 3 соответствующих строки ... –