【SharePoint】基于SPServices获取list中文件夹列表及列表中文件

最近需要做一个分类目录的小功能,本来可以自己定义分类实现。后来一想,SharePoint本来不就提供了文件夹的功能么,何不直接利用。只要能在js里面获取到文件夹信息就行。

SharePoint中的文件夹功能视图:

1

于是写了一段代码如下:

$().SPServices({
    operation: "GetListItems",
    async: true,
    listName: "FAQ",
    CAMLQuery: "",
    completefunc: function (xData, Status) {
        $(xData.responseXML).find("[nodeName='z:row']").each(function() {
        });
    }
});

服务器返回的xml文件如下:



   
   
   
   
   
   
   
   


只包含根目录下下面的文件夹和文件,并不包含子目录比如vCenter下面的文件夹和文件。(其中ows_FSObjType表示item类型,0结尾的表示是文件,1结尾的表示是文件夹)

如果想获取vCenter文件夹下面的子文件夹和文件该如何操作呢?

经过探索,代码如下:

$().SPServices({
    operation: "GetListItems",
    async: true,
    listName: "FAQ",
    CAMLQuery: "",
    CAMLQueryOptions: "/teams/G11N-IT/Lists/FAQ/vCenter",
    completefunc: function (xData, Status) {
        $(xData.responseXML).find("[nodeName='z:row']").each(function() {
        });
    }
});

其中FAQ是list名称,vCenter是FAQ根目录下的一个文件夹。
注意/teams/G11N-IT/Lists/FAQ/vCenter必须是从你网站的URL根下面开始,例如你的网站是http://www.xxx.com/a/b/Lists/FAQ/vCenter,那你在里面需要填写的就是/a/b/Lists/FAQ/vCenter。

这回服务器返回的xml文件如下:



   
   


确是vCenter目录下面的结构。
2

此条目发表在SharePoint, 文章分类目录。将固定链接加入收藏夹。

发表评论