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


     

    CAML(Collaborative Application Markup Language) 早在2001Sharepoint 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的项目。

     

  • 相关阅读:
    一文看懂:史上最通俗的视频编码技术详解
    浅谈常见的七种加密算法及实现
    自毁程序
    windows下, 宽字符和窄字符的打印输出
    修改Django自带auth模块的表名
    苹果IOS微信网页cookie缓存清理
    django_rest_framework ModelViewSet不支持PUT方法,PUT修改后不生效
    nginx的access日志打印十六进制x16x03x01x02x00x01
    解决/usr/bin/ld: cannot find -lmariadb报错
    使用antd的Upload组件和axios上传文件
  • 原文地址:https://www.cnblogs.com/by1455/p/795713.html
Copyright © 2020-2023  润新知