Caml查询返回错误的行

时间:2016-03-14 10:24:40

标签: sharepoint caml

我遇到了caml查询的问题 - 选择一个共享点项目,其中字段为" Title"具有特定的价值......

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

问题是这会返回列表中的所有项目。 Orderno将是一个guid,所以它是独一无二的。 我在这里读了一些问题但有一些建议,但没有任何效果。

我试过替换

  <eq> 

  <contains>

但这没用。 用于读取

的查询的开头
  <View><Query>      

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

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

2 个答案:

答案 0 :(得分:1)

在这种情况下使用Caml Query Builder。它将帮助您获得预期的结果,另一个更重要的一点是,当您尝试获取列表项时,需要在客户端对象模型中使用“查看”标记。

它可能对你有所帮助:)。

答案 1 :(得分:1)

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

<where>应为<Where></where>应为</Where></value>应为</Value>。 (相似,<eq>应为<Eq><contains>应为<Contains>。)

将{CAM}查询设置为<View></View>属性的值时,应将整个CAML查询包装在.ViewXml标记中。如果您要添加<RowLimit>元素,则会在结束</Query>代码之后但在结束</View>代码之前添加。