WebサービスAPIを介してSharePointリストをクエリしています。APIを介してサービスを呼び出すにはXmlNode
、CAMLクエリを表すオブジェクトを送信する必要があります。他のすべてがまったく同じであるため、これらは私が送信しようとしている2つの異なるクエリです(APIに送信される直前にXmlNode
'sプロパティを介して取得されます)。InnerXml
<!-- 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>
私はCAMLクエリに慣れていないので、In
ステートメントがどのように機能するかについて明らかな何かが欠けている可能性がありますが、私が見たすべての例はこの正確な形式を持っているようです。