Alb*_*ban 28 sharepoint caml nested-query
我正在研究概念验证代码,以根据提供给我正在编写的高度特定的搜索Web服务的关键字动态生成CAML.我没有使用SharePoint提供的搜索Web服务来进行此证明.我已经为我想要实现的目标做了这样的事情.从我的所有研究中,我找不到我想要实现的一个接近的例子,即检查多个值的多个字段.是的,我已经看过SO了我的答案,包括这个:需要帮助建立CAML查询.
话虽如此,如果有可能,如何在CAML中编写以下类似SQL的查询?
SELECT FirstName, LastName, Description, Profile
FROM SomeFakeTable
WHERE (FirstName = 'John' OR LastName = 'John' OR Description = 'John' OR Profile='John')
AND (FirstName = 'Doe' OR LastName = 'Doe' OR Description = 'Doe' OR Profile='Doe')
AND (FirstName = '123' OR LastName = '123' OR Description = '123' OR Profile='123')
Run Code Online (Sandbox Code Playgroud)
Ste*_*fan 55
由于不允许在一个条件组(And | Or)中放置两个以上的条件,因此必须创建一个额外的嵌套组(MSDN).表达式A AND B AND C如下所示:
<And>
A
<And>
B
C
</And>
</And>
Run Code Online (Sandbox Code Playgroud)
您的SQL示例示例已转换为CAML(希望使用匹配的XML标记;)):
<Where>
<And>
<Or>
<Eq>
<FieldRef Name='FirstName' />
<Value Type='Text'>John</Value>
</Eq>
<Or>
<Eq>
<FieldRef Name='LastName' />
<Value Type='Text'>John</Value>
</Eq>
<Eq>
<FieldRef Name='Profile' />
<Value Type='Text'>John</Value>
</Eq>
</Or>
</Or>
<And>
<Or>
<Eq>
<FieldRef Name='FirstName' />
<Value Type='Text'>Doe</Value>
</Eq>
<Or>
<Eq>
<FieldRef Name='LastName' />
<Value Type='Text'>Doe</Value>
</Eq>
<Eq>
<FieldRef Name='Profile' />
<Value Type='Text'>Doe</Value>
</Eq>
</Or>
</Or>
<Or>
<Eq>
<FieldRef Name='FirstName' />
<Value Type='Text'>123</Value>
</Eq>
<Or>
<Eq>
<FieldRef Name='LastName' />
<Value Type='Text'>123</Value>
</Eq>
<Eq>
<FieldRef Name='Profile' />
<Value Type='Text'>123</Value>
</Eq>
</Or>
</Or>
</And>
</And>
</Where>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103235 次 |
| 最近记录: |