Sharepoint 2010:通过SOAP请求获取文档集

时间:2016-07-12 08:08:08

标签: sharepoint soap sharepoint-2010

我需要在Sharepoint 2010上通过SOAP获取文档集的内容。

这是GetListItems - 响应:

的一部分
<z:row 
    ows_LinkFilename="Test DocSet"
    ows_Modified="2013-11-15 17:30:22"
    ows_Editor="1;#Intranetadmin"
    ows__ModerationStatus="0"
    ows__Level="1"
    ows_UniqueId="7;#{F9F49A78-A1BA-4316-BA7C-AE304D544C6C}"
    ows_FSObjType="7;#1" ows_Created_x0020_Date="7;#2013-10-14 11:11:14"
    ows_ProgId="7;#SharePoint.DocumentSet"
    ows_FileLeafRef="7;#Test DocSet"
    ows_PermMask="0x7fffffffffffffff"
    ows_HTML_x0020_File_x0020_Type="SharePoint.DocumentSet"
    ows_FileRef="7;#reporting/Test" 
    ows_MetaInfo="
        7;#vti_contentversionisdirty:BW|false
        vti_isexecutable:BW|false
        vti_contenttypeorder:SW|0x010100CE55C0F978D1DA439D9CF7D69B0CDFCCEB002E78DAF3B5EFFC459F2B05090785C2EF,0x0101008A74604B2254FB4F93E4106069B3B73D
        vti_folderitemcount:IW|2
        vti_hassubdirs:BW|false
        _dlc_DocId:SW|INTRA-90-7
        vti_listname:SW|{27B8314C-574F-4C65-B728-9343A185D1B3}
        vti_listservertemplate:IW|101
        vti_dirlateststamp:TW|15 Nov 2013 16:25:17 -0000
        _dlc_DocIdItemGuid:SW|f9f49a78-a1ba-4316-ba7c-ae304d544c6c
        _dlc_DocIdUrl:SW|http://test.sharepoint.de/reporting/Test/_layouts/DocIdRedir.aspx?ID=INTRA-90-7, INT-12-6
        docset_LastRefresh:SW|11/15/2013 16:30:21
        vti_metainfoversion:IW|5
        vti_foldersubfolderitemcount:IW|0
        vti_modifiedby:SR|Test\\intranetadmin
        vti_isscriptable:BW|false
        vti_listbasetype:IW|1
        vti_isbrowsable:BW|true
    "
    ows_Last_x0020_Modified="7;#2016-06-17 10:43:27"
    ows_ID="7"
    ows_owshiddenversion="5"
/>

如何获取此文档集的内容?

1 个答案:

答案 0 :(得分:0)

要将结果限制为特定文件夹,请在queryOptions参数中添加“文件夹”元素:

文档集是一种文件夹。如果您知道文件夹的名称,则可以通过在Folder方法调用的queryOptions参数中的GetListItems元素中指定文件夹名称来检索文件夹中的所有文档。

<QueryOptions>
    <Folder>LibraryPath/Test DocSet</Folder>
</QueryOptions>

供参考,请参阅Lists.GetListItems method documentation

  

queryOptions

     

以下形式的XML片段,其中包含SPQuery对象的各种属性的单独节点,可以分配给 System.Xml.XmlNode 对象。

     

...

     

下表显示了可通过queryOptions参数传递的Collaborative Application Markup Language(CAML)片段中使用的元素。

     

...

     
      
  • 元素:文件夹
  •   
  • 说明:指定用于过滤指定文件夹中项目的文档库项目的URL。此元素是可选的,其默认值为空字符串。
  •   

示例SOAP请求XML:

以下是您的完整请求消息XML的示例:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:m="http://schemas.microsoft.com/sharepoint/soap/">
<soap:Header>
</soap:Header>
<soap:Body>
  <m:GetListItems>
    <m:listName>{the-guid-of-your-list-here}</m:listName>
    <m:queryOptions>
      <QueryOptions>
        <Folder>LibraryPath/Folder Name Here</Folder>
      </QueryOptions>
    </m:queryOptions>
  </m:GetListItems>
</soap:Body>
</soap:Envelope>

为了提供进一步的示例,如果在您的站点资产库(内部名称为SiteAssets)中,您有一个名为Wiki Pages的文件夹和一个名为Pictures的子文件夹,那么您可以通过为queryOptions参数指定以下内容来查询该子文件夹:

<m:queryOptions>
  <QueryOptions>
    <Folder>SiteAssets/Wiki Pages/Pictures</Folder>
  </QueryOptions>
</m:queryOptions>