设为首页 收藏本站
查看: 862|回复: 0

[经验分享] SharePoint中CAML使用的一些总结

[复制链接]

尚未签到

发表于 2015-9-24 09:25:51 | 显示全部楼层 |阅读模式
  协作应用程序标记语言 (CAML) 是一种基于 XML 的语言,用于在 Windows SharePoint Services 中定义在网站和列表中使用的字段和视图。CAML 还用于在网站设置过程中定义 Windows SharePoint Services 数据库中的表。也可以对列表进行更新,在使用SharePoint Web Service的时候十分重要。详细的规范请参考http://msdn.microsoft.com/zh-cn/library/ms462365.aspx,本文列出一些常用的和重要的信息。
  1. 一些属性
  RowLimit:<RowLimit>10</RowLimit>查询结果的返回行限制
  ViewFields:<ViewFields> <FieldRef Name='Title'/> <FieldRef Name='Name'/></ViewFields>查询结果要显示的字段
  
  2. 查询条件
  query.Query = "<Where><Eq><FieldRef Name='Status'/>" + "<Value Type='Text'>Completed</Value></Eq></Where>";
  2.1.比较操作符如下:
  Comparison Operators
  General Meaning
  Eq
  =
  Gt
  >
  Lt
  <
  Geq
  >=
  Leq
  <=
  Neq
  <>
  Contains
  Like
  IsNull
  Null
  IsNotNull
  NotNull
  BeginsWith
  Beginning with word
  DateRangesOverlap
  compare the dates in a recurring event with a specified DateTime value, to determine whether they overlap
  2.2.Or
  .<Where> <Or> <Geq><FieldRef Name='Field1'/> <Value Type='Number'>1500</Value> </Geq> <Leq> <FieldRef Name='Field2'/><Value Type='Number'>500</Value> </Leq> </Or> </Where>
  2.3.And
  <Where> <And> <BeginsWith> <FieldRef Name="Conference"/> <Value Type="Note">Morning</Value> </BeginsWith> <Contains> <FieldRef Name="Conference" /> <Value Type="Note">discussion session</Value> </Contains> </And></Where>
  2.4.Orderby
  <OrderBy>
  <FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
  </OrderBy>
  2.5.GroupBy
  <GroupBy>
  <FieldRef Name="Modified"/>
  </GroupBy>
  3.转义
  Original
  Replacement
  "
  \"
  \
  \\
  +
  \u002b
  >
  \u003e
  <
  \u003c
  '
  \u0027
  
  
  
  
  例:
  <FieldRef Name=\"Checkbox\"></FieldRef> <Value Type=\"bit\">1</Value>
  4.Batch
  内嵌于 HTTP 协议中,Batch 元素必须至少包含一个 Method 元素。Batch 元素允许客户端应用程序一次性向服务器传送多个命令。
  4.1.格式
  
  <Batch
  OnError = "Return" | "Continue"
  ListVersion = ""
  Version = ""
  ViewName = "">
  <Method>
  ...
  </Method>
  ...
  </Batch>
  属性
  说明
  ListVersion
  可选属性,类型为 Integer。指定列表的版本号。
  OnError
  可选。以下是可能的值:
  · Return — 在遇到第一个错误之后,停止执行任何方法。此值为默认值。
  · Continue — 在遇到错误后,继续执行后续方法。
  Version
  可选属性,类型为 String。指定正在服务器上运行的 Windows SharePoint Services 的版本号。版本号包含四个整数,格式为 N.N.N.NNNN,它们表示产品的主版本、次版本、阶段版本和增量版本。
  ViewName
  可选属性,类型为 Guid。指定视图的 GUID。
  
  4.2.Method:在批处理中用于指定 Batch 元素中的命令。
  Method 元素是 Batch 元素所必需的
  <Method ID="Text"
  Cmd = "Text"
  ID = "Text">
  </Method>
  属性
  说明
  Cmd
  可选属性,类型为 Text。在 Web 服务中使用,指定相关命令发布到服务器以进行列表项更新。可能的值包括:
  · Delete — 删除指定项目。
  · New — 创建指定项目。
  · Update — 修改指定项目。
  ID
  必需属性,类型为 Text。自由形式标识字符串,它实际并非由服务器使用,而是返回到客户端。
  4.3. SetList:指定当前正在使用的列表。
  <SetList
  Name = "Text"
  PreserveContext = "TRUE" | "FALSE"
  Scope = "Request">
  </SetList>
  属性
  说明
  Name
  必需属性,类型为 Text。指定该列表的名称。
  PreserveContext
  可选属性,类型为 Boolean。如果为 FALSE,则实现 SetList 元素将返回数据库查询,该查询是获取显示单个列表项的表单中数据所必需的。当视图和表单位于同一页面中时,此功能非常有用。默认值为 TRUE。
  Scope
  当设置为 Request 时,此属性使整个列表可用于该页面。
  4.4. SetVar:允许在本地将页呈现到当前 XML 级别或将页全局呈现到页的上下文中设置变量。
  <SetVar
  ID = "Text"
  Name = "Text"
  Scope = "Request"
  Value = "Text">
  </SetVar>
  属性
  说明
  ID
  可选属性,类型为 Text。提供变量的 ID。
  Name
  必需属性,类型为 Text。指定变量的名称。
  Scope
  如果设置为 Request,则变量是全局变量。
  Value
  可选属性,类型为 Text。当这是一个空元素时,可用于为变量指定值。
  在下面的示例中,第一个 GetVar 元素返回“Value_2”,第二个 GetVar 元素返回“Value_1”,因为包含“Value_2”的 SetVar 元素仅适用于“Sample”元素的子级。“Value_2”在“Sample”结束标记之后超出范围。
  
  XML
  <SetVar Name="myVar">Value_1</SetVar>
  <Sample>
  <SetVar Name="myVar">Value_2</SetVar>
  <GetVar Name="myVar"/>
  </Sample>
  <GetVar Name="myVar"/>
  4.5.例子
  batchElement.InnerXml = "<Method ID='1' Cmd='Update'>" +
  "<Field Name='ID'>6</Field>" +
  "<Field Name='Title'>Modified sixth item</Field></Method>" +
  "<Method ID='2' Cmd='Update'><Field Name='ID'>7</Field>" +
  "<Field Name='Title'>Modified seventh item</Field></Method>" +
  "<Method ID='3' Cmd='Delete'><Field Name='ID'>5</Field>" +
  "</Method><Method ID='4' Cmd='New'>" +
  "<Field Name='Title'>Added item</Field></Method>";
  5.WSS中的各种字段类型与.NET中对应的数据类型的对照关系
  Name
  Format
  Attachments
  System.Boolean
  Boolean
  System.Boolean
  Calculated
  N/A
  Choice
  System.String
  Computed
  N/A
  Counter
  System.Int32
  CrossProjectLink
  System.Boolean
  Currency
  System.Double
  DateTime
  System.DateTime
  GridChoice
  System.String
  Guid
  System.Guid
  Integer
  System.Int32
  Lookup
  System.String
  MaxItems
  System.Int32
  ModStat
  System.Int32
  MultiChoice
  System.String
  Note
  System.String
  Number
  System.Double
  Recurrence
  System.Boolean
  Text
  System.String
  Threading
  System.String
  URL
  System.String, System.String
  User
  System.String

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118037-1-1.html 上篇帖子: InfoPath与SharePoint结合动态查询数据 下篇帖子: Moss/sharepoint 匿名访问之看例做题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表