zoukankan      html  css  js  c++  java
  • 拼写CAML查询的小工具

    是不是感觉写一个CAML的查询有点麻烦? 尤其是在写复杂查询的时候. 在这里跟大家分享一个codeplex上的工具, 专门用来帮你拼CAML查询字符串的.

    下载地址:

    SharePoint CAML Helper

    http://sharepointcamlhelper.codeplex.com/ 

    使用步骤:

    1. 下载CAMLHelper.dll

    2. 新建一个C#的Console Application.

    3. 添加对该dll的引用.

    4. 粘贴下面的示例代码.

    using System;
    using System.Collections.Generic;
    using System.Text;
    using StooRob.CAMLHelper.CAML;
    
    namespace CAMLHelperTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                CAMLManager target = new CAMLManager(
                    new QueryGroup(
                        "Title", 
                        Types.FieldTypes.Text, 
                        Types.QueryTypes.Eq, 
                        "List Item Title"
                    )
                );
    
                target.QueryGroups.Add(
                    new QueryGroup(
                        Types.FieldRefTypes.ID, 
                        "{D562C8AC-457A-446b-84D6-2FA26FAABED7}", 
                        Types.FieldTypes.YesNo, 
                        Types.QueryTypes.Neq, 
                        "true"
                    )
                );
    
                target.OrderBy.Add(new OrderBy("Title", false));
    
                target.ViewFields.Add(new ViewField("Title"));
                target.ViewFields.Add(
                    new ViewField(
                        "{D562C8AC-457A-446b-84D6-2FA26FAABED7}", 
                        Types.FieldRefTypes.ID
                    )
                );
    
                target.RowLimit = 100;
    
                string camlQuery = target.GetFullCAML();
    
                Console.WriteLine(camlQuery);
                Console.ReadLine();
            }
        }
    }
    

     

    程序输出结果(未整理):

    <Where><And><Eq><FieldRef Name="Title" /><Value Type="Text">List Item Title</Val
    ue></Eq><Neq><FieldRef ID="{D562C8AC-457A-446b-84D6-2FA26FAABED7}" /><Value Type
    ="YesNo">true</Value></Neq></And></Where><OrderBy><FieldRef Name="Title" Ascendi
    ng="False" /></OrderBy><ViewFields><FieldRef Name="Title" /><FieldRef ID="{D562C
    8AC-457A-446b-84D6-2FA26FAABED7}" /></ViewFields><RowLimit>100</RowLimit>

    整理后看起来如下:

    <Where>
      <And>
        <Eq>
          <FieldRef Name="Title" />
          <Value Type="Text">List Item Title</Value>
        </Eq>
        <Neq>
          <FieldRef ID="{D562C8AC-457A-446b-84D6-2FA26FAABED7}" />
          <Value Type="YesNo">true</Value>
        </Neq>
      </And>
    </Where>
    <OrderBy>
      <FieldRef Name="Title" Ascending="False" />
    </OrderBy>
    <ViewFields>
      <FieldRef Name="Title" />
      <FieldRef ID="{D562C8AC-457A-446b-84D6-2FA26FAABED7}" />
    </ViewFields>
    <RowLimit>100</RowLimit>

    注: codeplex上有该工具的源代码. 可以供学习参考之用.

     

    链接:

    SharePoint CAML Helper

    http://sharepointcamlhelper.codeplex.com/

  • 相关阅读:
    Ubuntu下的Apache、Mysql、PHP环境搭建
    JS代码引用位置问题-转
    mysql设置定时任务
    js setTimeout函数
    JavaScript向window onload添加加载函数
    写在开博之时
    WPF笔记(一)之初识XMAL
    创建理想的数据库索引
    常见负载均衡算法
    Java设计模式之外观模式
  • 原文地址:https://www.cnblogs.com/awpatp/p/1768793.html
Copyright © 2011-2022 走看看