从列表中检索所有项目的正确SharePoint CAML查询是什么?
出于某种原因,我尝试使用CAML和带有Python suds库的web服务查询SharePoint 2007。这个电话看起来像:从列表中检索所有项目的正确SharePoint CAML查询是什么?,sharepoint,caml,suds,Sharepoint,Caml,Suds,出于某种原因,我尝试使用CAML和带有Python suds库的web服务查询SharePoint 2007。这个电话看起来像: listItems = client.service.GetListItems( listName, '', Raw('<Query />'), viewFields, 0, Raw("""<QueryOptions> <IncludeMandatoryColumns>TRUE</Include
listItems = client.service.GetListItems(
listName, '', Raw('<Query />'), viewFields, 0,
Raw("""<QueryOptions>
<IncludeMandatoryColumns>TRUE</IncludeMandatoryColumns>
</QueryOptions>"""),
None)
listItems=client.service.GetListItems(
列表名“”,原始(“”),视图字段,0,
生的
真的
"""),
(无)
出于某种原因,我在
或
中得到了0个结果或一个错误,但得到的所有项目都是简单的同义反复,其中x=1或x!=1
获取所有列表项的正确方法是什么?要获取所有项,只需在其中放入orderby子句,然后指定任意列。应该返回所有内容…它有一个愚蠢的地方,您必须将
查询
包装在查询
元素中。生成的SOAP信封如下所示
<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
<soapenv:Body>
<GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>
<listName>TestQuery</listName>
<query><Query><Where><Eq><FieldRef Name='Title'/>
<Value Type='Text'>One</Value></Eq></Where></Query>
</query>
<viewFields><ViewFields><FieldRefName='Title'/>
</ViewFields></viewFields><RowLimit>1</RowLimit>
</GetListItems></soapenv:Body></soapenv:Envelope>
测试查询
一个
1.
因此,GetListItems web服务决定您的查询是错误的,并且不返回任何项
另请参阅本文:您正在使用0作为行限制参数。试试100之类的东西。好建议,但是suds库为我创建了
(小写)包装。正常的、非空的
(大写)查询非常有效。我必须进入调试器,以验证sud对于空字符串的原始(“”)具有相同的行为…我认为0表示“无限制”。