4

我正在将 sharepoint Web 服务与我的 iPhone 应用程序集成。完成GetListCollectionGetListItems服务集成。在尝试使用GetListItemChangesSinceToken服务进行同步而不是使用GetListItems服务时,我在响应中获取了文档库的所有项目,这意味着它会递归地从该文档库中提取所有项目,而我只需要特定于该库的项目(不是子文件夹项目)

这是我的文件夹层次结构

测试 -> 测试 1(SF),测试 doc1(D),测试 doc2(D) -> 测试 2(SF),测试 1 doc1(D)

SF - 子文件夹;D - 文件

我正在使用的肥皂消息是:

NSString *soapMessage = [NSString stringWithFormat:
                         @"<?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>
                         <GetListItemChangesSinceToken 
                         xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\">
                         <listName>%@</listName>
                         <queryOptions><QueryOptions>
                         <IncludeMandatoryColumns>TRUE</IncludeMandatoryColumns>
                         <DateInUtc>TRUE</DateInUtc>
                         <Folder>%@</Folder></QueryOptions>
                         </queryOptions>
                         </GetListItemChangesSinceToken>
                         </soap:Body></soap:Envelope>",listName,pathRef];

我为获取第一级文件夹(测试)的项目而传递的参数是 listName:测试 pathRef:测试

此请求返回测试文件夹中的所有项目(测试 1(SF)、测试 doc1(D)、测试 doc2(D)、测试 2(SF)、测试 1 doc1(D)),而我只需要特定于那个的项目文件夹(测试 1(SF)、测试 doc1(D)、测试 doc2(D))。

4

1 回答 1

1

看看这个http://msdn.microsoft.com/en-us/library/lists.lists.getlistitemchangessincetoken(v=office.12).aspx上的 MSDN 文章,特别是关于 queryOptions 和文件夹部分的部分。

您只需为根文件夹添加一个文件夹选项,这是根据此博客文章的服务器相对路径:http: //blogs.msdn.com/b/sharepointdeveloperdocs/archive/2008/01/21/synchronizing -with-windows-sharepoint-services-part-1.aspx

所以试试

<folder>site/list/</folder>
于 2014-04-25T06:06:33.397 回答