需要帮助来构建具有多个<和> </和>的caml查询

时间:2013-07-31 06:22:03

标签: listview sharepoint caml sharepoint-list sharepoint-object-model

我通过view.Query从列表视图中获取查询。我得到以下

<QUERY><GroupBy Collapse="TRUE" GroupLimit="100"><FieldRef Name="AlertGrp" /></GroupBy>       <OrderBy><FieldRef Name="PriorityNoLink" Ascending="FALSE" /><FieldRef Name="match_time"   Ascending="FALSE" /></OrderBy><Where><And><And><And>
<Neq><FieldRef Name="Category" /><Value Type="Text">ACH Alert</Value></Neq>
<Neq><FieldRef Name="Category" /><Value Type="Text">Check Fraud</Value></Neq>
</And>
<IsNull><FieldRef Name="Close_x0020_Reason" /></IsNull></And>
<Eq><FieldRef Name="AlertType" /><Value Type="Text">Alert</Value></Eq>
</And>
</Where></QUERY>

我想添加一个类似

的条件
<Geq><FieldRef Name="Created" /><Value Type="DateTime"><Today OffsetDays="-5" />    </Value></Geq>

我在AlertType

之后添加
<Eq><FieldRef Name="AlertType" /><Value Type="Text">Alert</Value></Eq>
</And>

并开始标记&lt;和大于在开头添加“&lt; And&gt;&lt; And&gt;&lt; And&gt;”

但显示错误的结果。请帮助我添加新条件的地方。

问候 jhanani

1 个答案:

答案 0 :(得分:1)

您的所有过滤器都是AND?

试试这个:

<Where>
  <And>
    <And>
      <And>
        <And>
          <Neq>
            <FieldRef Name="Category" />
            <Value Type="Text">ACH Alert</Value>
          </Neq>
          <Neq>
            <FieldRef Name="Category" />
            <Value Type="Text">Check Fraud</Value>
          </Neq>
        </And>
        <IsNull>
          <FieldRef Name="Close_x0020_Reason" />
        </IsNull>
      </And>
      <Geq>
        <FieldRef Name="Created" />
        <Value Type="DateTime"><Today OffsetDays="-5" />
        </Value>
      </Geq>
    </And>
    <Eq>
      <FieldRef Name="AlertType" />
      <Value Type="Text">Alert</Value>
    </Eq>
  </And>
</Where>