2012-04-12 18 views
0

SharePointリストへの次のWebサービス呼び出しによって返される結果のリストをフィルタリングしようとしています。今日足らずでサービスDATEを持つ行を含めて、今日よりも大きい、またはまったく価値 - 私はこのCAMLクエリがSharePoint Webサービス呼び出しの結果をフィルタリングしないのはなぜですか?

query.InnerText = ""; 

を持っている場合の結果は、SharePointリスト内のすべての行が含まれています。フィルタリングするためにCAMLクエリが必要ですが、Wh​​ereステートメントを追加すると機能しません。

service.Url = url; 
String pipeProjectSummaryListGuid = "{2D193799-F1FB-46B1-A313-56B8B12E1111}"; 

XmlDocument xmlDoc = new System.Xml.XmlDocument(); 
XmlElement query = xmlDoc.CreateElement("Query"); 
XmlElement viewFields = xmlDoc.CreateElement("ViewFields"); 
XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions"); 
String rowLimit = "9000"; 

query.InnerText = "<Where><Gt><FieldRef Name=\"In_x0020_Service_x0020_Date\" /><Value Type=\"DateTime\"><Today /></Value></Gt></Where>"; 
viewFields.InnerXml = "<FieldRef Name=\"NEW_ID\" /><FieldRef Name=\"In_x0020_Service_x0020_Date\" /><FieldRef Name=\"ProjectPriority\" />"; 
queryOptions.InnerXml = "<ViewAttributes Scope=\"Recursive\" /><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>"; 

try 
{ 
    results = service.GetListItems(pipeProjectSummaryListGuid, null, query, viewFields, rowLimit, queryOptions, null); 
} 

答えて

0

query.InnerXml代わりのquery.InnerTextを使用してみてください。

+0

query.InnnerXmlがトリックを行いました。私はそれを試したことを誓って... SharePoint Webサービスは結果をキャッシュしますか? – Mark

関連する問題