Почему этот запрос CAML не фильтрует результаты вызова веб-службы SharePoint?

Я пытаюсь отфильтровать список результатов, возвращаемых следующим вызовом веб-службы в список SharePoint. Когда у меня есть

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);
}

person Mark    schedule 12.04.2012    source источник


Ответы (1)


Попробуйте использовать query.InnerXml вместо query.InnerText.

person Rich Bennema    schedule 13.04.2012
comment
query.InnnerXml сделал свое дело. Клянусь, я пробовал это ... Кэшируют ли результаты веб-службы SharePoint? - person Mark; 18.04.2012