iPhone:Sharepoint GetListItemChangesSinceToken方法递归返回项

时间:2013-04-02 12:17:18

标签: iphone ios sharepoint

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

这是我的文件夹层次结构

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

SF - SubFolder; 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:测试

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

1 个答案:

答案 0 :(得分: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>