拼写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/

posted on   中道学友  阅读(992)  评论(2编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2010年7月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

技术追求准确,态度积极向上

点击右上角即可分享
微信分享提示