C#-Sharepoint CAML中的OR问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-Sharepoint CAML中的OR问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1423字,纯文字阅读大概需要3分钟。
内容图文
![C#-Sharepoint CAML中的OR问题](/upload/InfoBanner/zyjiaocheng/674/8d194c29af6d455e9651daaa1e956f8f.jpg)
我正在尝试查询列表,并找回与活动新闻通讯列表匹配的新闻通讯文章.
尝试通过CAML提取项目时会遇到麻烦.如果我对两个CONTAINS进行OR循环,则效果很好.例如:
<Where>
<Or>
<Contains>
<FieldRef Name=\"Newsletter_x0020_Name\"/>
<Value Type=\"Lookup\">April 2012</Value>
</Contains>
<Contains>
<FieldRef Name=\"Newsletter_x0020_Name\"/>
<Value Type=\"Lookup\">May 2012</Value>
</Contains>
</Or>
</Where>
很棒!
添加第三行,我们会遇到麻烦:
<Where>
<Or>
<Contains>
<FieldRef Name=\"Newsletter_x0020_Name\"/>
<Value Type=\"Lookup\">April 2012</Value>
</Contains>
<Contains>
<FieldRef Name=\"Newsletter_x0020_Name\"/>
<Value Type=\"Lookup\">May 2012</Value>
</Contains>
<Contains>
<FieldRef Name=\"Newsletter_x0020_Name\"/>
<Value Type=\"Lookup\">June 2012</Value>
</Contains>
</Or>
</Where>
我确保它不是name列中的参数(意思是我已经尝试了两个参数和三个参数实现中4月,5月和6月的每种组合),并且没有任何变化.我可以使用任何一组参数,并且两列始终有效,而三列始终失败.
救命?
解决方法:
我也很难学到-CAML分组< And>和< Or> only work in pairs表示布尔逻辑.
巧妙的一点(或者令人讨厌,取决于您的外观)是分组本身也可以作为条件来工作.因此,在这种情况下,它将如下所示:
<Or>
<Or>
<Condition1/>
<Condition2/>
</Or>
<Condition3/>
</Or>
在上述情况下,我们说的是“此表达式为true或Condition3为true”;第一个表达式碰巧还有一个子表达式,该子表达式被评估并冒泡以表示单个布尔值.
如果最终像我一样在应用程序中编写了很多复杂的查询,我强烈建议将其隐藏在API或类似LINQ这样的对象模型中,因为XML手工编写非常麻烦,而且很容易搞乱.
内容总结
以上是互联网集市为您收集整理的C#-Sharepoint CAML中的OR问题全部内容,希望文章能够帮你解决C#-Sharepoint CAML中的OR问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。