你好計算器社區CAML- WebService Sharepoint
我從這個論壇得到了很多幫助。雖然這次我找不到。
我做了一個ASP.NET應用程序,我嘗試使用SharePoint WebService來獲取列表的某些項目。
到目前爲止,我在獲得使用CAML請求整個列表成功,但是我必須選擇2個指定的日期
之間的項目我發現了很多的幫助,解決這個,我用這個方法格式化ISO 8601日期字符串:
private string FormatDateForCAML(DateTime theDate)
{
string result = theDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
return result;
}
這裏是CAML要求建設:
System.Xml.XmlElement query = xmlDoc.CreateElement("Query");
query.InnerXml =
"<Where>"+
"<And>"+
"<Geq>"+
"<FieldRef Name=\"startdate\" />"+
"<Value Type=\"DateTime\" IncludeTimeValue=\"True\">" + theStart + "</Value>" +
"</Geq>"+
"<Lt>" +
"<FieldRef Name=\"enddate\" />" +
"<Value Type=\"DateTime\" IncludeTimeValue=\"True\">" + theEnd+ "</Value>" +
"</Lt>" +
"</And>"+
"</Where>";
我沒有這個查詢任何錯誤返回:
System.Xml.XmlNode nodeListItems = listService.GetListItems(listName, viewName, query, viewFields, rowLimit, queryOptions, null);
但返回的列表爲空雖然shoudn't
感謝您的幫助。
編輯:我終於成功了,問題從這裏一個錯誤的請求來到的是正確的版本
System.Xml.XmlElement query = xmlDoc.CreateElement("Query");
query.InnerXml =
"<Where>"+
"<And>"+
"<Geq>"+
"<FieldRef Name=\"startdate\" />"+
"<Value Type=\"DateTime\" IncludeTimeValue=\"True\">" + theStart + "</Value>" +
"</Geq>"+
"<Lt>" +
"<FieldRef Name=\"startdate\" />" +
"<Value Type=\"DateTime\" IncludeTimeValue=\"True\">" + theEnd+ "</Value>" +
"</Lt>" +
"</And>"+
"</Where>";
感謝Roqz我使用的CAML觀衆,我可以得到這個問題:我有比較開始僅限日期!
謝謝兩位的幫助:)
你有沒有試過用U2U CAML Query Builder這樣的工具來建立你的請求來檢查它是否以這種方式運行? http://www.codeproject.com/Articles/458008/CAML-Query-Builder – roqz 2013-05-13 09:41:09
Thx回覆。我會嘗試今天下午使用它,並在這裏帶回結果。雖然我嘗試添加 的元左右,現在把整個名單,無視我的「where」子句 –
Deunz
2013-05-13 09:47:35
根據的SharePoint您也可以使用RSS feeds的列表,如果使用CAML +本地Web在所有查詢的版本服務不鍛鍊。 – 2013-05-13 10:02:11