我正在使用php和caml从sharepoint检索列表,只是它似乎带回了一个最小列表,我想知道如何设置列表视图来显示所有列表项,而不是默认的最小列表。我不是sharepoint方面的专家,这是我第一次使用caml,所以请原谅我在这个问题上的粗鲁。
下面是我的问题
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>'.$list.'</listName>
<rowLimit>'.$limit.'</rowLimit>
'.$queryXML.'
<queryOptions xmlns:SOAPSDK9="http://schemas.microsoft.com/sharepoint/soap/" >
<QueryOptions/>
</queryOptions>
</GetListItems>'我填写列表并限制变量,它从sharepoint返回默认的列表视图,但我想添加只返回列表中的所有内容的功能,或者告诉它要返回哪些列,但我在internet上搜索以下内容时运气很差:(
提前感谢您的回复
发布于 2012-02-02 00:16:51
您应该从查看List.GetListItems上的web服务方法的文档开始。您需要为ViewFields参数提供要返回的字段。
创建CAML查询不适合胆小的人。有很多不同之处,而且该语言用于许多不相关的任务。从本机对象模型执行CAML查询与调用web服务略有不同。幸运的是,U2U已经创建了CAML Query Builder,它允许您通过选择要连接的方法(在本例中为Web Services )、所需的列表、字段、过滤和排序标准来创建CAML查询。
如果你的目标是SharePoint 2010,你可能想要避免使用(古老的) web服务,而使用REST/OData API。OData是一种类似于GData的应用程序接口,用于访问各种数据源,允许轻松过滤和选择,最重要的是,对所有数据源都是统一的。您可以直接从代码中调用REST API,也可以使用OData SDK for PHP为列表生成一个代理类,它将允许您以一种非常简单的方式执行查询。
查看"Introduction to querying lists with REST“,了解REST API的详细介绍。
发布于 2015-06-13 03:07:11
您使用的是SP 2013还是2010?如果是2013年,我会建议对SP使用Rest服务。它更容易使用,而且你不需要使用那些疯狂的CAML。https://msdn.microsoft.com/en-us/library/office/fp142380.aspx?f=255&MSPPError=-2147217396
发布于 2015-09-11 21:32:46
您需要转到SharePoint上的列表设置,并设置项目限制,它负责显示一定数量的记录。如果不指定视图名称,则使用默认视图。如果此默认视图设置为批量显示项目或显示有限数量的项目,则您将仅获取该数量的记录。这都是通过UI在列表/库设置中设置的。如果您指定了CAML查询和所有选项,那么视图将被忽略,您将获得CAML查询返回的所有记录。下面是一个定义新的CAML查询的示例(虽然是在C#中),其中使用了视图ID (在大括号之间),另外还提供了一个CAML查询。这缩小了从该视图获取的结果范围。你可以很容易地用谷歌搜索如何找到列表ID。
XmlDocument xmlDoc = new System.Xml.XmlDocument();
XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");
XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");
ndQueryOptions.InnerXml = "<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" + "<DateInUtc>FALSE</DateInUtc>";
XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");
ndQuery.InnerXml = "<Where><Eq><FieldRef Name='LinkTitle'/><Value Type='Text'>New Tasks</Value></Eq></Where>";
XmlNode confNode = listsSvc.GetListItems("NotificationConfig", "{92428C7A-3F35-41B2-AEC4-B8B1C7E64533}", ndQuery, null, null, ndQueryOptions, null);https://stackoverflow.com/questions/9098975
复制相似问题