用于检索SharePoint列表项的Web服务

时间:2015-09-03 09:14:48

标签: c# sharepoint-2013 webservice-client

我们有一台SharePoint Server和另一台拥有我们的Web服务的服务器(未在计算机上安装SharePoint)。我们正在尝试使用我们的Web服务访问SharePoint服务器列表项。我们正在计算列表项,但是当我们进行CAML查询时,它会返回0项。

我们如何继续获取列表项?

这是我们的代码供您参考。

List Device_List = context.Web.Lists.GetByTitle("MasterList");
                      context.Load(Device_List);
                      context.ExecuteQuery();
                      int position = Device_List.ItemCount;

                    CamlQuery query = new CamlQuery();
                    query.ViewXml = @"<View><Query><Where><Eq><FieldRef Name='key' /><Value Type='Text'>ConTransDB</Value></Eq></Where></Query></View>";
                    ListItemCollection itemCollection = Device_List.GetItems(query);
                    context.Load(itemCollection);
                      context.ExecuteQuery();
                      if (itemCollection.Count > 0 && itemCollection != null)
                      {
                          string value = itemCollection[0]["value"].ToString();
                      }

1 个答案:

答案 0 :(得分:0)

ViewXml未完成,它要求您定义完整视图,而不仅仅是查询。所以它看起来像:

query.ViewXml = "<View><Query><Where>...</Where></Query></View>";

您甚至可以添加除查询之外的更多信息,例如:

<View>
  <Query>
    <Where>...</Where>
    <OrderBy>...</OrderBy>
  </Query>
  <RowLimit>...</RowLimit>      
  <ViewFields>...</ViewFields>
</View>