1. CAML的结构。

<View Type="HTML" Name="Summary">

<ViewBody ExpandXML="TRUE">

<![CDATA[ <p><SPAN class=DocTitle><ows:Field Name="Title"/></SPAN>

(<ows:Field Name="Author"/>, <ows:Field Name="Modified"/>)

<ows:Limit><Field Name="Body"/></ows:Limit>

</p> ]]>

</ViewBody>

<Query>

<Where>

<Geq>

<FieldRef Name="Expires"/>

<Value Type="DateTime">

<Today/>

</Value>

</Geq>

</Where>

<OrderBy>

<FieldRef Name="Modified"/>

</OrderBy>

</Query>

<ViewFields>

<FieldRef Name="Summary"/>

<FieldRef Name="Author"/>

<FieldRef Name="Modified"/>

<FieldRef Name="Body"/>

</ViewFields>

</View>

 

可以在这个页面查看更详细的内容:

https://msdn.microsoft.com/en-us/library/office/ms438338.aspx

在这个页面上可以通过点击Parent Elements和Child Elements查看它可以包含的子元素和父元素。

 

  1. 如何通过CAML查询一个View里面的数据。

服务器端的API支持输入View的ID:

https://msdn.microsoft.com/en-us/library/ms434064(v=office.15).aspx

 

客户端的API则不支持:

https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.list.getitems.aspx

需要用如下的方法进行查询:

Public
ListItemCollection
GetSPItems(listName, viewName){

 

ClientContext context = new
ClientContext("http://SiteUrl");

 

List list1 = context.Web.Lists.GetByTitle(listName);

 

View view = list1.Views.GetByTitle(viewName);

clientContext.Load(view);

clientContext.ExecuteQuery();

CamlQuery query = new
CamlQuery();

camlQuery.ViewXml = view.ViewQuery;

ListItemCollection items = announcementsList.GetItems(query);

 

context.Load(items);

context.ExecuteQuery();

retun items;

 

}

 

//Example of usage:

 

ListItemCollection listItems = GetSPItems("Tasks", "My Tasks");

 

 

 

SharePoint CAML Query小结的更多相关文章

  1. SharePoint Caml Query 使用

    需要注意的是: 再使用ListQueryWebPart部件时,默认查看的list列表会出现乱码的情况,需要开启服务器呈现模式,如图: 特此记录一下

  2. CAML query for Group by count and data

    CAML query for Group by count and data Company Category Product Name Microsoft Developer Visual Stud ...

  3. Overcoming the List View Threshold in SharePoint CAML queries

    From: https://www.codeproject.com/articles/1076854/overcoming-the-list-view-threshold-in-sharepoint- ...

  4. 【转】SharePoint camel query查询 event 或者Calendar 日历列表的时候,怎么查询所有的重复发生的事件

    When you query a SharePoint calendar your results will contain: All non-recurring events The first e ...

  5. SHAREPOINT - CAML列表查询

    首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表.文档库的查询,字段的定义,站点定义等处处使用的都是CAML. 简单的提一 ...

  6. SharePoint CAML In Action——Part I

    在SharePoint中,我们经常要对List进行操作,比如要从List中取出相应的ListItem,利用CAML是个好办法.在没了解CAML之前,我是这样取数据的: MyList.Items.Cas ...

  7. SharePoint - CAML

    1. CAML是顺序操作,如果要实现类似 “A or B or C or D” 的结果,最好写成 “(((A or B) or C) or D)”的形式,但写成 “((A or B) or (C or ...

  8. SharePoint CAML In Action——Part II

    在SharePoint中,相对于Linq to SharePoint而言,CAML是轻量化的.当然缺点也是显而易见的,"Hard Code"有时会让你抓狂.在实际场景中,经常会根据 ...

  9. [总结]SHAREPOINT - CAML列表查询(上)

    首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表.文档库的查询,字段的定义,站点定义等处处使用的都是CAML. 简单的提一 ...

随机推荐

  1. CodeSmith 基础用法和例子

    〇.            前言 一.            工具设置 CodeSmith默认是不支持中文的,那么我们必须要先设置使其支持中文显示,保存.并且要能够在生成文件中支持中文. [Tools ...

  2. gitblit无法安装windows服务或者启动服务失败:Failed creating java

    gitblit解压后,命令行运行installService.cmd之前,需要修改里面的参数,将ARCH修改x86,默认是amd64,我的机器是windows 10 Pro 64位版本,jdk也都是6 ...

  3. C++ STL set::find的用法

      参考: http://blog.csdn.net/lihao21/article/details/6302196 /* class for function predicate * - opera ...

  4. RednaxelaFX:软件工程师、主攻高级编程语言虚拟机的设计与实现

    https://www.zhihu.com/people/rednaxelafx/posts

  5. Cocos2d-x3.1TestCpp之NewRenderTest Demo分析

    1.代码构成 VisibleRect.h VisibleRect.cpp AppDelegate.h AppDelegate.cpp HelloWorldScene.h HelloWorldScene ...

  6. 字符串转换成整型,到底使用int.Parse,Convert.ToInt32还是int.TryParse?

    当我们想把一个字符串转换成整型int的时候,我们可能会想到如下三种方式:int.Parse,Convert.ToInt32和int.TryParse.到底使用哪种方式呢? 先来考虑string的可能性 ...

  7. uistatusBar 详解

    成功的方法: 方法1.隐藏应用程序内所有的StatusBar 第一步:在Info.plist,然后添加一个新的row,"View controller-based status bar ap ...

  8. C#编程(五十)----------栈

    栈 栈与队列是一个非常类似的容器,他们的区别在于队列是先进先出,而栈是后进先出. Stack与Stack<T>,像队列一样,栈也提供了泛型与非泛型版本. Stack的方法: 方法 说明 P ...

  9. 应收事物处理删除 SQL 语句

    /* Formatted on 2018/3/15 10:07:48 (QP5 v5.256.13226.35538) */ --组织表 SELECT * FROM hr_organization_u ...

  10. C#输出到Release VS中Release模式下生成去掉生成pdb文件

    Release 与 Debug 的区别就不多说了, 简单来说 Release 优化过, 性能高一些. Debug 为方便调试. 默认情况下是 Debug, 那如何改成 Release 呢? 项目上右键 ...