2012-07-05 41 views
1

我想實現的是:以關鍵字數組作爲輸入並查詢Sharepoint列表以返回包含列表中關鍵字的所有行。帶有包含和或子句的CAML查詢問題

我已經構建了一個簡單的CAML查詢來查詢我的列表與一個關鍵字(pdf)。

<Query><Where><Contains><FieldRef Name='Keyword'/><Value Type='Text'>pdf</Value></Contains></Where></Query> 

這工作正常。

但是,當我嘗試使用或在CAML查詢子句(見下文),我收到以下錯誤

「一個或多個字段類型安裝不正確。進入列表設置頁面中刪除這些領域。「

<Query><Where><Or><Contains><FieldRef Name='Keyword'/><Value Type='Text'>pdf</Value></Contains></Or></Where></Query> 

我搜索的語法和一切看起來不錯。請讓我知道缺少的東西。

在此先感謝。

+0

如果您使用SharePoint 2007,那麼2010年可能會有一個)我建議您嘗試使用CAML生成器將使您的生活更輕鬆! – Truezplaya

+0

Truezplaya,不幸的是,我的公司有下載軟件的限制。我只使用Javascript中的Sharepoint列表服務,將來不需要它。有沒有一個在線工具來評估語法? –

+0

不幸的是我不認爲有。這個工具可以在編寫CAML時提高效率,所以我想你會有一個好的案例來獲得一份副本。如果你曾經寫過CAML,我相信你會再次遇到它! – Truezplaya

回答

0

在CAML查詢中,如果你想使用或者你必須和應該有兩個條件。

+0

關鍵字的數量可能是1-n。我正在動態地構建Where子句。所以,據我瞭解,如果有一個關鍵字,並且如果有多個關鍵字,則需要排除OR子句,否則需要排除OR子句? –

0

字段引用名稱必須是內部名稱。您可以通過訪問列表/庫設置中的colmn頁面來找到該名稱,並且該名稱是URL的結尾。名稱中的空格和下劃線必須以不同的方式處理。