Есть ли явные недостатки в этом CAML-запросе? - PullRequest
0 голосов
/ 13 апреля 2011

Я запрашиваю список sharepoint через веб-сервис API.Для вызова службы через API требуется отправить объект XmlNode, представляющий запрос CAML.При прочих равных условиях я пытаюсь отправить два разных запроса (полученные с помощью свойства InnerXml XmlNode непосредственно перед отправкой в ​​API):

<!-- 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, но все примеры, которые я просмотрел, имеют именно такой формат.

1 Ответ

3 голосов
/ 13 апреля 2011

Какую версию SharePoint вы используете? Кажется, что элемент IN действителен только в SharePoint 2010. (Согласно этой статье: http://www.lushpedia.com/post/Alternative-of-In-Clause-for-CAML-Query-for-SharePoint-2007.aspx)

...