Caml 查询 returns 行错误

Caml query returns wrong rows

我的 caml 查询有问题 - select 一个共享点项目,其中字段 "Title" 具有特定值...

  Dim camlQuery As New CamlQuery()
  camlQuery.ViewXml = "<Query><where><Contains><FieldRef Name='Title'/><Value Type='Text'>" & orderno & "</value></Contains></where></Query>"

问题是 returns 列表中的所有项目。 Orderno 将是一个 guid,因此它是唯一的。 我在这里阅读了一些问题,其中有一些建议,但没有任何效果。

我试过替换

  <eq> 

  <contains>

但这没有用。 用于读取的查询的开始

  <View><Query>      

我已经更改了它,但这也没有效果。 据我所知,查询看起来不错 - 不确定为什么会出错。

编辑: 此外,这是使用 microsoft.sharepoint.client 因此 .items() 在列表对象上不可用。

在这种情况下使用 Caml 查询生成器。它将帮助您获得预期的结果,这里更重要的一点是,当您尝试获取列表项时,您需要在客户端对象模型中使用 "View" 标记。

可能对你有帮助:)

您问题中的 CAML 存在语法问题,因为 CAML 区分大小写。

<where>应该是<Where></where>应该是</Where></value>应该是</Value>。 (同理,<eq>应该是<Eq><contains>应该是<Contains>。)

在将其设置为 .ViewXml 属性 的值时,您应该将整个 CAML 查询包装在 <View></View> 标记中。如果你想添加一个 <RowLimit> 元素,它会出现在结束 </Query> 标签之后但结束 </View> 标签之前。