我想知道是否可以使用GetListItems使用特定值查询列表并仅返回与该查询匹配的行?
目前,我可以使用GetListItems检索列表中的所有项目,或特定视图中的所有项目,但我无法进一步过滤。
我很欣赏我可以对返回的项目集执行查询,但是想知道是否有可能(也许更快)让sharepoint为我执行查询。
在yoursharepoint / _vti_bin / Lists.asmx?op = GetListItems页面我看到了,
<query>
<xsd:schema>schema</xsd:schema>xml</query>
<viewFields>
<xsd:schema>schema</xsd:schema>xml</viewFields>
<rowLimit>string</rowLimit>
<queryOptions>
<xsd:schema>schema</xsd:schema>xml</queryOptions>
但不知道如何/可以使用这些参数。
答案 0 :(得分:1)
简短回答:是的,可以将它与各种过滤器一起使用
过滤语言(XML)称为CAML ..
您应该查看大量示例的SPServices文档和论坛。 GetListItems的文档应该特别满足您对其使用的需求....
本指南将帮助您开始在CAML中构建查询:http://sharepointmagazine.net/articles/writing-caml-queries-for-retrieving-list-items-from-a-sharepoint-list
答案 1 :(得分:1)
是的,您可以调用GetListItems操作并传递CAMLQuery参数。以下是html
<div id='result'></div>
我正在寻找与术语“Bob Tester”相匹配的所有列表项目。在标题列中使用以下SPServices调用。
$().SPServices({
operation: "GetListItems",
async: false,
listName: "MyCustomList",
CAMLQuery: "<FieldRef Name='Title'></FieldRef><Value Type='Text'>Bob Tester</Value>",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var foundItem = "<div>" + $(this).attr("ows_Title") + " matches</div>";
$("#result").append(foundItem);
});
}
});