2012-03-12 89 views
0

如何省略字段我有一个连接到一个SharePoint web服务的applicatie。 它所需要做的是确定哪些项目被改变和存储领域的修改,唯一ID和FileRef。要检索这些数据,我使用webservice的'Lists.GetListItemChanges'-mehod。这给了我正确的数据,但由于数据量太大,所有字段(包括页面内容)都返回给我。在GetListItemChanges响应(通过请求)

因此,在阅读了MSDN上的Lists.GetListItemChanges文档后,我使用了带有像<ViewFields><FieldRef Name="Modified" /><FieldRef Name="UniqueId" /><FieldRef Name="FileRef" /></ViewFields>这样的节点的ViewFields参数。 文档说“指定哪些字段查询以什么顺序返回一个ViewFields元素”。

这并通过移动这些字段(属性)向前去结果-行改变输出,但所有其他属性也回来了结果,其中包括的全部内容。这给了我太多的开销,我怎么能省略那些其他领域。

回答

0

有迹象表明将alwys返回几个字段。 HJowever可以限制非必需的字段是这样的:

<?xml version="1.0" encoding="utf-8"?> 
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
     <soap:Body> 
      <GetListItemChanges xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
       <listName>Team Discussion</listName> 
        <viewFields> 
        <ViewFields> 
         <FieldRef Name="DiscussionTitle"/> 
         <FieldRef Name="Modified"/> 
         <FieldRef Name="MyEditor"/> 
        </ViewFields> 
        </viewFields> 
       <since>2012-1-22</since> 
      </GetListItemChanges> 
     </soap:Body> 
    </soap:Envelope> 

即使如此,我无法抑制这些领域:

  • ows_MetaInfo
  • ows__ModerationStatus
  • ows__Level
  • ows_ID
  • ows_UniqueId
  • ows_ows hiddenversion
  • ows_FSObjType
  • ows_Created
  • ows_PermMask
  • ows_FileRef

我敢打赌,未suppressable领域的变化取决于列表定义也。我的例子是讨论列表