一般情况下对IT管理者来说,在SharePointFarm中维护Feature,更喜欢使用命令行实现,这样可以省去登录到具体站点的操作。比如IT接到enduser的一个需求,要开启SiteCollectionFeature,如果直接操作......
2023-01-12
在SharePoint的使用中,经常需要进行系统集成这样的操作,我们作为SharePoint开发,就需要给其他系统提供接口,而SharePoint提供的WebService就很好的提供了这样的功能,我们简单了解下,通过SharePoint提供WebService对列表进行操作
步骤:
1、 首先,新建一个控制台程序,添加WebService的引用
地址http://<site>/_vti_bin/Lists.asmx
<site>为网站的地址,包括端口号
2、引用 - 右键 - 添加服务引用(如图1)– 高级 – 添加Web引用 – URL处填写WebService地址(如图2)
(图1)
(图2)
3、 获取List信息
try { WebServices1.Lists listService = new GetListTest.WebServices1.Lists(); listService.Credentials = System.Net.CredentialCache.DefaultCredentials; XmlNode ndLists = listService.GetList("Test");//参数列表名,String类型 Console.Write(ndLists.OuterXml); } catch (Exception ex) { Console.Write(ex.Message); } |
4、 获取List信息结果
5、 获取ListItem信息
//获取ListItem信息 WebServices1.Lists listService = new GetListTest.WebServices1.Lists(); listService.Credentials = System.Net.CredentialCache.DefaultCredentials; XmlDocument xmlDoc = new System.Xml.XmlDocument(); XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", ""); XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", ""); XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", ""); ndQueryOptions.InnerXml = ""; //Query设置 ndViewFields.InnerXml = ""; //视图设置 ndQuery.InnerXml = ""; //Caml语句 try { XmlNode ndListItems = listService.GetListItems("Test", null, ndQuery, ndViewFields, "1", ndQueryOptions, null); //获取列表内容 Console.Write(ndListItems.OuterXml); //输出获取的Xml内容 } catch (System.Web.Services.Protocols.SoapException ex) { } |
6、 获取ListItem信息结果
7、 修改ListItem项
WebServices1.Lists listService = new WebServices1.Lists(); listService.Credentials = System.Net.CredentialCache.DefaultCredentials; string strBatch = "<Method ID='1' Cmd='Update'>" +//cmd参数,Update为更新,还有New、Delete "<Field Name='ID'>1</Field>" +//Name属性为字段名称,里面为字段值 "<Field Name='Title'>这个已经被修改了</Field></Method>"; XmlDocument xmlDoc = new System.Xml.XmlDocument(); System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch"); elBatch.InnerXml = strBatch; XmlNode ndReturn = listService.UpdateListItems("Test", elBatch);//第一个参数是列表名 Console.Write("操作成功"); |
8、修改ListItem后的结果
8、 以上是几个操作List的WebService的示例,自己也是参考微软的示例代码,读取出来的信息是Xml,然后在Xml中获取我们需要的信息就可以了。
Lists的SDK地址: http://msdn.microsoft.com/zh-cn/library/websvclists.lists_methods(v=office.12).aspx
相关文章
一般情况下对IT管理者来说,在SharePointFarm中维护Feature,更喜欢使用命令行实现,这样可以省去登录到具体站点的操作。比如IT接到enduser的一个需求,要开启SiteCollectionFeature,如果直接操作......
2023-01-12
我们经常会在SharePoint网站集的权限列表中看到某个user有LimitedAccessPermission,但是我们都知道或者试过,在SharePointsitecollection中没有办法直接添加user赋予LimitedAccess权限,并且LimitedAccess这个......
2023-01-12
在这样的场景下,比如统计员工的个人信息,IT会在SharePoint中新建list,加一些需要填写的栏位,然后让公司员工登录填写。这时候比起大家都能看到彼此信息而言,从公司角度更想让员工只能......
2023-01-12
大多数企业使用SharePoint文档库时,都会建议EndUser在编辑文档前先做CheckOut动作,这样可以保证文档在当前用户编辑过程中,其他人只能view而不能edit,防止多人同时修改同一文件互相影响的......
2023-01-12
为了记录SharePointLibrary/List中file/Item的修改情况,ITAdministrator会在List/Library的VersionSettings中开启Version管控设置。之后用户每次编辑item/file保存就会生成一个新的version记录,这样我们就会知道......
2023-01-12