我需要在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"
/>
如何获取此文档集的内容?
答案 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>