ViewAttributes递归范围不工作SharePoint 2013 CAML查询以递归方式从文档库中提取所有文件

时间:2014-01-08 13:36:39

标签: recursion sharepoint-2013 caml

我有一个文档库SP 2013,想要从所有文件夹和子文件夹中获取所有文档。我不想要任何文件夹,但我想从每个文件夹中获取所有文件。

使用SP 2010 U2U CAML Builder,我在下面进行了查询:

<query>
<QueryOptions>
        <ViewAttributes Scope="Recursive" />
    </QueryOptions> 
</query>

此查询适用于SP 2010中的库,但它不适用于SP 2013

以下是从SP 2013库

获取数据的代码
CAMLQuery = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>\
  <soapenv:Body>\
    <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>\
      <listName>My Document Library</listName>\
<query>\
<QueryOptions>\
        <ViewAttributes Scope="Recursive" />\
    </QueryOptions> \
</query>\
    </GetListItems>\
  </soapenv:Body>\
</soapenv:Envelope>";

$.ajax({
    url: "https://<server>/teams/<siteName>/_vti_bin/lists.asmx",
    type: "POST",
    dataType: "xml",
    data: CAMLQuery,
    complete: getGrid,
    contentType: "text/xml; charset=\"utf-8\""
});

getGrid是完成时的回调函数

请帮助我。

2 个答案:

答案 0 :(得分:10)

你必须在view-tag中给出范围,如下所示:

<View Scope="RecursiveAll">
    <Query>
        <Where>...</Where>
    </Query>
</View>

答案 1 :(得分:0)

请使用SP.ViewScope属性更新View Scope 对于递归,值为1.

Collections.sort(student, MyComparator comp)

https://msdn.microsoft.com/en-us/library/office/ee548053(v=office.14).aspx