2012-04-12 62 views
0

我在尝试将由以下Web服务调用返回的结果列表筛选到SharePoint列表。当我有此CAML查询为何不过滤来自SharePoint Web Service调用的结果?

query.InnerText = ""; 

结果包括SharePoint列表中的每一行 - 包括具有投入使用的日期比现在更少的行,比今天更大,或者根本没有价值。我需要CAML查询来过滤,但添加Where语句不起作用。

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网络服务缓存结果? – Mark 2012-04-18 00:29:17