zoukankan      html  css  js  c++  java
  • [总结]SHAREPOINT

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

    简单的提一下CAML列表查询相关知识,请注意CAML查询无论对于标签还是值均大小写敏感

    CAML查询的根元素是Query,Query元素包含两个元素(非必须):<OrderBy>, <Where>

    <OrderBy>

    <OrderBy>是最简单的元素,用来为返回的数据排序,语法如下:

    <OrderBy>

    <FieldRef Name='LastName' Ascending='False' />(默认为升序Ascending.)

    </OrderBy>

    <OrderBy>语法并非必须且可以在查询中使用多个OrderBy。

    <Where>

    <Where>元素用来指定查询条件,此元素语法非常简单,但根据具体的情况也会写得非常的复杂。

    <Where>

    <Eq>

    <FieldRef Name='LastName' />

    <Value Type='Text'>Johnson</Value>

    </Eq>

    </Where>

    操作符有:Eq等于;Neq不等于;Gt大于;Geq大于等于;Lt小于;Leq小于等于;IsNull是否空;BeginsWith开始于;Contains包含

    字段FieldRef元素可以是列表中的任何一个字段,如果使用Name属性则必须指定内部名称,也可以使用ID属性指定字段的GUID;

    值Value元素指定具体的查询条件,如果没有指定默认是Text,DateTime的使用复杂些稍候详细说明。

    如果查询的字段类别是lookup,指定值的时候可以指定具体值也可以指定ID,如果需要指定ID,需要在FieldRef元素里指定LookupId为true,例:

    <where>

    <Eq>

    <FieldRef Name='Country' />

    <Value Type='Lookup'>China</Value>

    </Eq>

    </Where>

    或者

    <where>

    <Eq>

    <FieldRef Name='Country' LookupId='True' />

    <Value Type='Lookup'>15</Value>

    </Eq>

    </Where>

    如果想指定两个查询条件,需要指定And或者Or

    <Where>

    <And>

    <Eq>

    <FieldRef Name='LastName' />

    <Value Type='Text'>Wang</Value>

    </Eq>

    <Geq>

    <FieldRef Name='Age' />

    <Value Type='Number'>21</Value>

    </Geq>

    </And>

    </Where>

    如果有两个以上的查询条件需要按比较特殊的方式来指定:

    <Where>

    <And>

    <And>

    <Eq>

    <FieldRef Name='LastName' />

    <Value Type='Text'>Wang</Value>

    </Eq>

    <Geq>

    <FieldRef Name='Age' />

    <Value Type='Number'>21</Value>

    </Geq>

    </And>

    <Lt>

    <FieldFef Name='Age' />

    <Value Type='Number>60</Value>

    </Lt>

    </And>

    </Where>

    查询条件再多按此类推。

  • 相关阅读:
    详解package-lock.json的作用
    Cisco计网实验配置总结
    使用Vue制作了一个计算机网络中子网划分部分的简陋计算工具
    Prettier-Code Formater代码格式化插件使用教程
    Node.js中npx命令的使用方法、场景
    从几道题目带你深入理解Event Loop_宏队列_微队列
    简单模拟实现javascript中的call、apply、bind方法
    git使用说明书
    使用闭包模拟实现AMD模块化规范
    if执行后else if即使满足条件也不再执行
  • 原文地址:https://www.cnblogs.com/tdskee/p/3314767.html
Copyright © 2011-2022 走看看