SharePoint 调用 WebService操作List小记

简介: 简述:在SharePoint的使用中,经常需要进行系统集成这样的操作,我们作为SharePoint开发,就需要给其他系统提供接口,而SharePoint提供的WebService就很好的提供了这样的功能,我们简单了解下,通过SharePoint提供WebService对列表进行操作 步骤: 1、...

简述:在SharePoint的使用中,经常需要进行系统集成这样的操作,我们作为SharePoint开发,就需要给其他系统提供接口,而SharePoint提供的WebService就很好的提供了这样的功能,我们简单了解下,通过SharePoint提供WebService对列表进行操作

步骤:

1、 首先,新建一个控制台程序,添加WebService的引用

地址http://<site>/_vti_bin/Lists.asmx

<site>为网站的地址,包括端口号

2、引用 - 右键 - 添加服务引用(如图1)– 高级 – 添加Web引用 – URL处填写WebService地址(如图2)

clip_image001

(图1)

clip_image003

(图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信息结果

clip_image005

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信息结果

clip_image007

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后的结果

clip_image009

8、 以上是几个操作List的WebService的示例,自己也是参考微软的示例代码,读取出来的信息是Xml,然后在Xml中获取我们需要的信息就可以了。

Lists的SDK地址: http://msdn.microsoft.com/zh-cn/library/websvclists.lists_methods(v=office.12).aspx

******************************************************************************

  作者:霖雨

  出处:http://www.cnblogs.com/jianyus

  本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

目录
相关文章
|
7月前
|
存储
File操作 - list()/listFiles()与目录过滤器
File操作 - list()/listFiles()与目录过滤器
84 0
|
3天前
|
BI
Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串
在Power BI中,从SharePoint List获取数据时遇到Table和List混合的数据源,直接展开会导致“笛卡尔积”效应,生成过多行。目标是保持行数不变,将Table中的字段与List值用逗号分隔显示在同一行。解决方法包括:1) 添加新列,从Table中提取List的Column2值;2) 使用Text.Combine函数合并List中的值。具体操作步骤包括选择列并自定义新列,然后展开List并以逗号分隔。通过这些步骤,可以将Table转换为所需的字符串格式。完整的Power BI Query代码展示了这一过程。参考链接提供了更多详情。
|
3天前
|
C++ 容器
9.STL中list的常见操作(图文并茂)
9.STL中list的常见操作(图文并茂)
|
23天前
|
存储 C++ 容器
list容器-大小操作讲解
list容器-大小操作讲解
22 0
|
10月前
|
人工智能 Java API
一文学会List函数排序操作,20秒即可完成!
假设有一个用户管理系统,其中包含两个用户列表:一个是从数据库中获取的原始用户列表,另一个是从外部API获取的新用户列表。在这种情况下,用Java函数来实现将新用户列表中的数据合并到原始用户列表中的功能。
|
23天前
|
存储 Java 索引
java list集合相关介绍和方法使用操作
java list集合相关介绍和方法使用操作
32 1
|
23天前
|
算法 C++ 容器
【C++STL基础入门】list改、查操作
【C++STL基础入门】list改、查操作
516 0
|
23天前
|
C++ 容器
【C++STL基础入门】list交换、翻转,排序、合并和拼接操作
【C++STL基础入门】list交换、翻转,排序、合并和拼接操作
|
7月前
|
人工智能 算法 机器人
List 函数排序操作,用对方法事半功倍!
作为一名程序员,以下这些场景你肯定不陌生, 1.数据分析和处理:在处理大量数据时,需要对数据进行排序以进行进一步的分析和处理。例如,在市场调研中,可能需要按照客户的购买频率对客户列表进行排序,以确定哪些客户最有可能购买产品或服务。 2.报表生成:在生成报表时,往往需要按照特定的顺序对数据进行排列,以便清晰地展示数据。例如,在制定销售报告时,可能需要按照销售额对产品进行排序,以了解哪些产品的销售额最高。 ......
|
8月前
|
缓存 安全 算法
独家封印解开:Go语言列表List操作大揭秘
独家封印解开:Go语言列表List操作大揭秘
30 0