Sharepoint 2010:通过 SOAP 请求获取文档集
Sharepoint 2010: Get Document Set via SOAP Request
我需要在 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"
/>
如何获取此文档集的内容?
要将结果限制到特定文件夹,请将 "Folder" 元素添加到 queryOptions
参数:
文档集是一种文件夹。如果您知道文件夹的名称,则可以通过在 GetListItems
方法调用的 queryOptions
参数的 Folder
元素中指定文件夹名称来检索文件夹中的所有文档。
<QueryOptions>
<Folder>LibraryPath/Test DocSet</Folder>
</QueryOptions>
参考 Lists.GetListItems
method documentation:
queryOptions
An XML fragment in the following form that contains separate nodes for the various properties of the SPQuery object, and that can be assigned to a System.Xml.XmlNode object.
...
The following table shows the elements that can be used in the Collaborative Application Markup Language (CAML) fragment passed through the queryOptions parameter.
...
- Element: Folder
- Description: Specifies a URL used to filter document library items for items in the specified folder. This element is optional, and its default value is an empty string.
示例 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>
我需要在 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"
/>
如何获取此文档集的内容?
要将结果限制到特定文件夹,请将 "Folder" 元素添加到 queryOptions
参数:
文档集是一种文件夹。如果您知道文件夹的名称,则可以通过在 GetListItems
方法调用的 queryOptions
参数的 Folder
元素中指定文件夹名称来检索文件夹中的所有文档。
<QueryOptions>
<Folder>LibraryPath/Test DocSet</Folder>
</QueryOptions>
参考 Lists.GetListItems
method documentation:
queryOptions
An XML fragment in the following form that contains separate nodes for the various properties of the SPQuery object, and that can be assigned to a System.Xml.XmlNode object.
...
The following table shows the elements that can be used in the Collaborative Application Markup Language (CAML) fragment passed through the queryOptions parameter.
...
- Element: Folder
- Description: Specifies a URL used to filter document library items for items in the specified folder. This element is optional, and its default value is an empty string.
示例 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>