Sharepoint CAML 中的 OR 问题

2024-01-04

我正在尝试查询列表并获取与活动新闻通讯列表匹配的新闻通讯文章。

当尝试通过 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>

我已经确保它不是名称列中的参数(这意味着我在两个参数和三个参数实现中尝试了四月、五月和六月的所有可能组合)并且没有任何变化。我可以使用任何一组参数,并且两列总是有效,三列总是失败。

Help?


我也是经历了惨痛的教训才明白这一点的——CAML 分组<And> and <Or> 只能成对工作 http://msdn.microsoft.com/en-us/library/ms196939.aspx来表达布尔逻辑。

聪明的一点(或者烦人,取决于你如何看待它)是分组本身也可以作为条件。所以在这种情况下,它看起来像这样:

<Or>
    <Or>
        <Condition1/>
        <Condition2/>
    </Or>
    <Condition3/>
</Or>

在上面的例子中,我们说“要么这个表达式为真,要么条件3为真”;第一个表达式碰巧还有一个子表达式,该子表达式被计算并冒泡以表示单个布尔值。

如果您最终像我一样在应用程序中编写了大量复杂的查询,我强烈建议将其隐藏在 API 或 LINQ 等良好的对象模型后面,因为 XML 手动编写非常麻烦,而且很容易搞乱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sharepoint CAML 中的 OR 问题 的相关文章

随机推荐

  • 更改 SFSafariViewController 的色调颜色?

    正如标题所说 如何更改 iOS 9 中新的 SFSafariViewController 的整体色调颜色 iOS 10 的一些消息 现在我们有两个属性来控制整体外观SFSafariViewController source link htt
  • Java Runtime.getRuntime().exec() 带引号

    我正在尝试通过 linux 上的 exec 调用运行 ffmpeg 但是我必须在命令中使用引号 ffmpeg 需要它 我一直在查看 processbuilder 和 exec 的 java 文档以及 stackoverflow 上的问题 但
  • 对服务与工厂感到困惑

    据我了解 当在工厂内部时 我返回一个被注入控制器的对象 当在服务内部时 我正在使用以下方法处理对象this并且不返回任何东西 我假设服务是始终是单身人士 并且一个新工厂对象被注入到每个控制器中 然而 事实证明 工厂对象也是单例对象吗 演示示
  • JSF MVC设计问题

    我有一个 JSF 支持 bean 设计问题 现在 我的支持 bean 保存 UI 显示信息和业务模式数据 人们建议模型和视图应该分开 那么创建不同的 bean 来保存 UI 显示数据并让支持 bean 引用它是个好主意吗 那么创建不同的 b
  • 我可以只选择 MYSQL 中的一列而不是全部,以使其更快吗?

    我想做这样的事情 query mysql query SELECT userid FROM users WHERE username username the user id 因为我想要的只是与用户名对应的用户ID 通常的方法是 query
  • 如何格式化 SQLCMD 输出

    我正在使用下面的命令行使用 SQLCMD 运行 SQL 查询 sqlcmd S Server Q select top 100 From people d people t 10 该表有 20 列 当我查看输出命令行窗口时 文本会换行并使其
  • 客户端 MVC 与服务器 MVC

    我希望从其他用户那里获得一些关于服务器端 MVC 优势的意见 拥有许多 javascript 库的强大功能 服务器端 MVC 服务器还有什么用处呢 您可以轻松地使用带有模板和 REST API 的客户端 MVC 来创建响应速度更快的应用程序
  • subprocess.Popen,从子进程(子进程)获取变量[重复]

    这个问题在这里已经有答案了 我想知道如何处理它 我从子进程到父进程获取变量 值 我正在将子进程作为脚本运行 父级看起来像 import subprocess p subprocess Popen abaqus python getData
  • 为什么负载不能绕过同一核心上的另一个线程从写入缓冲区写入的值?

    如果CPU核心使用写缓冲区 则负载可以从写缓冲区绕过最近的存储到引用的位置 而无需等到它出现在缓存中 但是 正如它所写的记忆一致性和连贯性入门 https lagunita stanford edu c4x Engineering CS31
  • Azure AD B2C 在注册策略中预填充自定义属性

    从 Web 应用程序 ASP Net MVC 调用时 Azure AD B2C 是否支持在注册策略中预填充自定义属性 我们可以创建自定义 SignUp 属性 但我们无法在文档中找到如何传递值来填充自定义属性的规范 如果开箱即用不支持此功能
  • 自定义绑定类无法正常工作

    目前我正在研究 WPF 数据绑定 但遇到了一个我不明白的问题 所以我把问题发布在这里 也许你已经知道地理出了什么问题 首先 我在Windows Vista 32位下使用Visual Studio 2008 问题也存在于Windows 7 R
  • 使用哈希合并全局内存写入

    我的问题涉及合并全局写入到 CUDA 中数组的一组动态变化的元素 考虑以下内核 global void kernel int n int odata int idata int hash int i blockIdx x blockDim
  • 未捕获的类型错误:无法在“Node”上执行“appendChild”:参数1不是“Node”类型[重复]

    这个问题在这里已经有答案了 var line p strong name strong message field message body und 0 value p console log line console log docume
  • /admin/ 处的 NoReverseMatch 未找到带有参数“()”和关键字参数“{}”的“注销”

    我读过了this one https stackoverflow com questions 10145583 django 1 4 and noreversematch at admin error 但我使用的是 Django 1 5 我
  • 如何使用javascript获取会话值

    我有一个类来处理会话变量 这是附上的示例 namespace General public class Session public Session public static string UserID get return HttpCo
  • Fortran 可分配的内部存储器表示

    我想知道 fortran 可分配数组的内部内存表示是什么 我理解这比原始指针更复杂一点 因为形状和等级也必须存储 我还猜想它取决于实现 因为我在中找不到信息Fortran 2003 标准 http www j3 fortran org do
  • 如何在 nextjs 13.2 路由处理程序中访问请求正文

    我试图向我的 api 发送一个 post 请求 但是 尝试在路由处理程序中访问请求正文会导致以下错误 Code export async function POST request Request const postBody postPr
  • Django - 模型中 1 个字段的自定义 getter

    我正在为外部 Oracle DB 编写一个模型 我需要从该模型中提取信息到我的项目中 Oracle DB 中的字段之一是 XMLType 它托管大部分数据 需要通过 getClobVal 方法提取这些数据 而不是直接查询 我想知道 Djan
  • Mongoose:在一次调用中填充多个查询

    在 Mongoose 中 我可以使用查询填充来在查询后填充其他字段 我还可以填充多个路径 例如 Person find populate books movie title pages director exec 然而 这将生成对书籍的查找
  • Sharepoint CAML 中的 OR 问题

    我正在尝试查询列表并获取与活动新闻通讯列表匹配的新闻通讯文章 当尝试通过 CAML 拉取项目时 就会出现麻烦 如果我用两个 CONTAINS 进行 OR 循环 效果很好 例如