我正在使用
从sharepoint wbesite获取数据activeItemData = ws.GetListItems(listGUID, activeItemViewGUID,
qNode, vNode, rowLimit, null, "");
以下是我从sharepoint获得的一条记录。
<**rs:data** ItemCount="1" ListItemCollectionPositionNext="Paged=TRUE&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更改为XDocumentXDocument results = XDocument.Parse(activeItemData.OuterXml);
问题是,一旦我尝试浏览数据以获取ID和标题我就得到了错误:对象引用没有设置为对象的实例。
以下是我试图用来获取这些字段的代码:
var items = from item in results.Descendants(XName.Get("row", "#RowsetSchema"))
select new
{
Title = item.Attribute("Title").Value,
Id = item.Attribute("ID").Value
};
似乎该项无法找到此XName元素
谢谢
答案 0 :(得分:0)
尝试:
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
};
如果你看一下row元素:
<z:row ows_ID="1" ows_Title="My R.....
您从属性名称中遗漏了ows_
。