Не могу просмотреть результаты GetListItems с помощью LINQ to XML - PullRequest
0 голосов
/ 20 сентября 2010

Я получаю данные с sharepoint wbesite, используя

activeItemData = ws.GetListItems(listGUID, activeItemViewGUID, 
     qNode, vNode, rowLimit, null, "");

Вот то, что я получил от sharepoint - одна его запись.

<**rs:data** ItemCount="1" ListItemCollectionPositionNext="Paged=TRUE&amp;p_ID=1" xmlns:rs="urn:schemas-microsoft-com:rowset">
   <**z:row** ows_ID="1" ows_Title="My RFC Title number one" ows_GUID="{A73B8E91-98BF-4CA7-8ADB-A3B933D6D8DA}" ows_Req_x0020_Number="112343" ows_Ends="2010-07-17 00:00:00" ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_Start="2010-07-08 00:00:00" ows_owshiddenversion="13" ows_UniqueId="1;#{EA9E9C87-1B28-47DE-B7F4-DA4ADDF913F6}" ows_FSObjType="1;#0" ows_Created="2010-07-07 11:05:56" ows_Status="1. In-Work" ows_FileRef="1;#sites/PS/Lists/Change Control/1_.000" xmlns:z="#RowsetSchema" />
</rs:data>

Теперь, чтобы использовать LINQ to XML, я изменяю объект, содержащий эти данные, с XMLDocument на XDocument с помощью

XDocument results = XDocument.Parse(activeItemData.OuterXml);

и проблема в том, что когда я пытаюсь просмотреть данные для получения идентификатора и заголовка, я получаю ошибку: ссылка на объект не установлена ​​на экземпляр объекта.

Вот фрагмент кода, который я пытаюсь использовать для получения этих полей:

 var items = from item in results.Descendants(XName.Get("row", "#RowsetSchema"))
       select new
           {
               Title = item.Attribute("Title").Value,
               Id = item.Attribute("ID").Value 
           };

Кажется, что элемент не может найти этот элемент XName

Спасибо

1 Ответ

0 голосов
/ 21 сентября 2010

Попробуйте:

 var items = from item in results.Descendants(XName.Get("row", "#RowsetSchema"))
       select new
           {
               Title = item.Attribute("ows_Title").Value,
               Id = item.Attribute("ows_ID").Value 
           };

Если вы посмотрите на элемент строки:

<z:row ows_ID="1" ows_Title="My R.....

вы пропустили ows_ из имени атрибута.

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