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. NodeJS下的Mongodb操作

    今天用Node写一个小程序中需要用到数据库操作,试用了一下,发现官方的驱动已经非常好用了,也支持async. 一个简单的实例如下: const MongoClient = require('mongo ...

  2. eclipse中设置自定义文档签名(工具)

    今天第一次认真学习eclipse的使用,看到自定义文档签名,步骤如下:  1.点击window->preferences->java->Code Style->Code Tem ...

  3. 缩放到被选择的部分: ICommand Cmd = new ControlsZoomToSelectedCommandClass();

    AddItem("esriControls.ControlsZoomToSelectedCommand"); //ICommand Cmd = new ControlsZoomTo ...

  4. 【docker】【Gitlab】gitlab中clone项目时,IP地址是一串数字(内网Gitlab的IP地址不正确)的问题解决

    首次在内网搭建Gitlab环境,在成功后在Gitlab上新建了一个项目. 然而在IDEA上clone项目时发现,项目地址如下: git@0096ce63c43f:root/jump.git 或者这样 ...

  5. WordPress主题开发实例:显示最新发表文章

    实现效果 制作网站的时候,想在页面左栏显示最新发表的文章,如: 一.先开启侧边栏工具,在functions.php加上 $args = array( 'name' => __( '分类侧边栏') ...

  6. docker查看容器的网络ip

    docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id 可直 ...

  7. C# 程序设置开机启动(一)

    一.示例使用VBScript创建启动文件,并添加到Windows系统的启动目录 默认情况下 所有用户启动目录:C:\ProgramData\Microsoft\Windows\Start Menu\P ...

  8. 轻松看懂Java字节码

    java字节码 计算机只认识0和1.这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行.所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行. 而Java刚诞生 ...

  9. Qt中对QDomDocument和QDomnode的理解

    一.对QDomDocument和QDomnode的理解 QDom前缀的都是代表节点类型.所以有,QDomElement代表一个Element节点,而QDomText代表一个Text节点.QDomNod ...

  10. ss简单使用

    ss简单使用 ss即socket state. 1.常用语句 ss -l 显示所有处于监听的网络接口连接 ss -pl 显示所有处于监听的网络接口连接,及相应的进程名称.进号等 ss -t -a 显示 ...