2012-03-12 88 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領域的變化取決於列表定義也。我的例子是討論列表