我通过网络服务api查询共享点列表。通过API调用服务需要发送代表CAML查询的XmlNode
对象。其他一切完全相同,这是我尝试发送的两个不同的查询(在发送到API之前通过XmlNode
的{{1}}属性获取:
InnerXml
我是CAML查询的新手,所以也许我错过了<!-- This one works fine -->
<Query>
<Where>
<Eq>
<FieldRef Name="ID" />
<Value Type="Text">304</Value>
</Eq>
</Where>
</Query>
<!-- This one fails with a Soap exception (which I've seen before when searching
for an invalid field, but the first one calls the exact same field). -->
<Query>
<Where>
<In>
<FieldRef Name="ID" />
<Values>
<Value Type="Text">304</Value>
<Value Type="Text">303</Value>
<Value Type="Text">302</Value>
<Value Type="Text">301</Value>
</Values>
</In>
</Where>
</Query>
语句如何工作的明显内容,但我看过的所有例子似乎都有这种格式。
答案 0 :(得分:3)
您使用的是哪个版本的SharePoint? IN元素似乎仅在SharePoint 2010中有效。(根据本文:http://www.lushpedia.com/post/Alternative-of-In-Clause-for-CAML-Query-for-SharePoint-2007.aspx)