使用SOAP查询Sharepoint中多个字段的空值



我试图在Powershell中查询SOAP Sharepoint,但当我添加超过2个字段时,我遇到了问题。我想知道的是,如果有一种方法来看看是否有任何4个字段是空的?

当我执行这个查询时,我得到结果:

<Query>
 <Where>
  <Or>
   <IsNull>
    <FieldRef Name='Field1'/>
   </IsNull>
   <IsNull>
    <FieldRef Name='Field2'/>
   </IsNull>
  </Or>
 </Where>
</Query>

然而,当我执行这个查询时,抛出了一个异常。

<Query>
 <Where>
  <Or>
   <IsNull>
    <FieldRef Name='Field1'/>
   </IsNull>
   <IsNull>
    <FieldRef Name='Field2'/>
   </IsNull>
   <IsNull>
    <FieldRef Name='Field3'/>
   </IsNull>
   <IsNull>
    <FieldRef Name='Field4'/>
   </IsNull>
  </Or>
 </Where>

您的CAML查询格式错误。OR标记不能包含两个以上的字段,因此任何其他字段都必须嵌套。

<OR >
    FEILD 4
    < OR >
        FEILD 3
        < OR >
            FELD 1
            FELD 2
        < /OR > 
    < /OR >
</ OR >

尝试CAML查询助手http://spcamlqueryhelper.codeplex.com/

你需要把AND和OR混在一起。例如:

<Where>
    <And>
        <Or>
            <IsNull>
                <FieldRef Name='Field1' />
            </IsNull>
            <IsNull>
                <FieldRef Name='Field2' />
            </IsNull>
        </Or>
        <And>
            <Or>
                <IsNull>
                    <FieldRef Name='Field3' />
                </IsNull>
                <IsNull>
                    <FieldRef Name='Field4' />
                </IsNull>
            </Or>
        </And>
    </And>
</Where>

对多个字段嵌套and 's和OR's的CAML查询

相关内容

  • 没有找到相关文章

最新更新