记录一些平常用SharePoint Client Object访问并管理SharePoint List或Library的例子。
首先,所有使用SharePoint Client Object的.NET工程都需要引用Microsoft.SharePoint.Client.dll和Microsoft.SharePoint.Client.Runtime.dll这两个类库。这里提供一个下载:Microsoft.SharePoint.Client.zip
下面是一些例子:
1. 从指定的List或Library中找出Folder
listName为所要查询的List或Library的名称,不带路径URL。folderServerRelativeUrl为所要查询的Folder的相对路径,如“/sitename/library/folder/subfolder/”。使用的时候需要传入ClientContext对象。如果待查询的Folder存在则返回对应的Microsoft.SharePoint.Client.Folder对象,否则返回null。
2. 从指定的URL中确定已存在的Folder
listName为所要查询的List或Library的名称,不带路径URL。folderServerRelativeUrl为所要查询的Folder的相对路径,如“/sitename/library/folder/subfolder/”。使用的时候需要传入ClientContext对象。该方法通过递归调用的方式从给定的URL中找出从哪一级开始的Folder在List或Library中是存在的。例如,给定一个Folder的相对地址“/sitename/library/folder/subfolder1/subfolder1_1/subfolder1_1_1/”,该方法将从最后一个folder开始进行递归,返回存在的那个Folder对象。如果所有的folder均不存在,则返回null。
3. 通过给定的URL在List或Library中创建Folder
顾名思义,该方法借助于FindExistFolder方法首先从给定的folder相对路径中找出已存在的folder,然后逐级创建folder。
4. 使用Microsoft.SharePoint.Client.FileCollection.Add方法向目标Library中创建或修改文件
该方法首先根据传入的documentUrl判断文件是否已经存在,如果存在则需要先将文件check out或undo check out,然后通过Microsoft.SharePoint.Client.FileCollection.Add的方式上传文件。如果目标library中有ContextType的限制,则还需要指定文件的ContentType,defaultContentTypes是一个存放指定ContentType的静态String数组,如果传入的contentType字符串不在defaultContentTypes数组中,则需要给文件指定新的ContentType。
5. 使用Microsoft.SharePoint.Client.File.SaveBinaryDirect方法向目标Library中创建或修改文件
与UploadFileToList方法类似,该方法通过Microsoft.SharePoint.Client.File.SaveBinaryDirect方法向目标Library中上传文件,接收FileStream而不是文件的字节数组。
6. 读取List或Library中的数据并返回指定格式的XML文档对象
该方法比较简单,通过指定的siteUrl和listName从List或Library中读取指定字段的数据,然后按照一定的格式返回XML文档对象。下面是所返回的XML文档对象的结构:
< Items >
< Item >
< Title ></ Title >
< Url ></ Url >
< InsideCategories >
< Category ></ Category >
< Category ></ Category >
< Category ></ Category >
</ InsideCategories >
</ Item >
< Item >
< Title ></ Title >
< Url ></ Url >
< InsideCategories >
< Category ></ Category >
</ InsideCategories >
</ Item >
</ Items >
字段InsideTrackCategories是Lookup类型,并且允许有多个值,当有多个值存在时,SharePoint中用分号进行分隔。
这里记录一些有关SharePoint客户端对象模型应用方面的文章,方便以后查阅:
http://msdn.microsoft.com/zh-cn/library/ee857094.aspx
http://msdn.microsoft.com/en-us/library/ee956524.aspx
http://blog.csdn.net/lgm97/article/details/6455361
http://ranaictiu-technicalblog.blogspot.com/2010/03/sharepoint-2010-manage.html
http://www.cnblogs.com/Sunmoonfire/archive/2011/01/18/1937884.html
本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/archive/2011/11/29/2267572.html,如需转载请自行联系原作者