协作应用程序标记语言 CAML 点滴(一)

 

CAML(Collaborative Application Markup Language) 早在2001年Sharepoint 2001 和 Team Service (WSS的第一个版本)就出现了。记得当时也算轰动一时,直到现在MOSS 2007还是依然健在,相比之下同时一起出来的PKM早已被OM取代,改的面目全非。当然现在开发MOSS2007.要么选择OM,要么选择web service。用到CAML的场景应该不多。

先来看看CAML的最简单的用法:

MOSS2007的基本配置如下:(全部是缺省值)
服务器名:devweb4
Site名:testcaml
List 名: mylist
View名:All Items

visual studio 生成一个console application. 源码如下:

 

Imports Microsoft.SharePoint

 

Module Caml

 

    Sub Main(ByVal args() As String)

        Dim ServerName As String = args(0)

        Dim SiteName As String = args(1)

        Dim listName As String = args(2)

        Dim viewName As String = args(3)

        Dim site As SPSite = New SPSite(ServerName)

        Dim web As SPWeb = site.OpenWeb(siteName)

 

        Dim myList As SPList = web.Lists(listName)

        Dim query As SPQuery = New SPQuery(myList.Views(viewName))

        System.Diagnostics.Debug.WriteLine(query.ViewXml)

        Console.WriteLine(query.ViewXml)

        Console.ReadLine()

 

    End Sub

 

End Module


四个参数分别是
服务器名:devweb4Site名:testcaml List :  mylist View名:All Items

 

运行命令:Caml “http://devweb4/” “testcaml” “mylist” “All Items”

 

得到以下结果 (一个XML

 

<Query>

       <OrderBy>

              <FieldRef Name="ID" />

       </OrderBy>

</Query>

<ViewFields>

       <FieldRef Name="Attachments" />

       <FieldRef Name="LinkTitle" />

</ViewFields>

<RowLimit>100</RowLimit>

</View>

 

如果为“All Items” (View)选择更多的field, 就会有更多<FieldRef Name="<field name>" />出现。

 

上面的xml构成了CAML检索的基础

 

下面是一个典型的检索

 

<Query>

<OrderBy>

<FieldRef Name=”Title” />

</OrderBy>

<Where>

<Lt>

<FieldRef Name=”StartDate” />

<Value Type=”DateTime”>2007-01-01T00:00:00Z</Value>

</Lt>

</Where>

</Query>

Title为序,检索所有的startdate小于2007/01/01的项目。

 

posted on 2007-06-26 07:43 by1455 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/by1455/archive/2007/06/26/795713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值