sharepoint Lists Web service 用法
概述
在sharepoint 项目中,后期做数据迁移时,会用到sharepoint的web service来完成把数据导入sharepoint站点的功能。
web service 名称:
http://[site]/_vti_bin/Lists.asmx
我们用它来新增,修改或者删除当前站点特定list 的item操作。
调用的方法:
[SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/UpdateListItems", RequestNamespace="http://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="http://schemas.microsoft.com/sharepoint/soap/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
public XmlNode UpdateListItems (string listName,XmlNode updates
)
listName:当前站点list的名字。
操作list的item则通过XmlNode来完成。
更改普通list里item对应field Name的xml代码:
<Batch OnError="Continue" ListVersion="1"
ViewName="270C0508-A54F-4387-8AD0-49686D685EB2"><Method ID="1" Cmd="Update"><Field Name="ID">4<Field><Field Name="Field_Name">Value</Field></Method><Method ID="2" Cmd="Update"><Field Name="ID" >6</Field><Field Name="Field_Name">Value</Field></Method>
</Batch>
新增list里item的xml代码:
<Batch OnError="Continue" ListVersion="1"
ViewName="270C0508-A54F-4387-8AD0-49686D685EB2"><Method ID="1" Cmd="New"><Field Name='ID'>New</Field><Field Name="Title">Value</Field><Field Name="Date_Column">2007-3-25</Field><Field Name="Date_Time_Column">2006-1-11T09:15:30Z</Field></Method>
</Batch>
删除list里item的xml代码:
<Batch OnError="Continue" ListVersion="1"
ViewName="270C0508-A54F-4387-8AD0-49686D685EB2"><Method ID="1" Cmd="Delete"><Field Name='ID'>2</Field></Method><Method ID="2" Cmd="Delete"><Field Name='ID'>8</Field></Method>
</Batch>
document libraries操作:
新建文件夹xml的代码:
<Batch OnError="Continue" PreCalc="TRUE"
ListVersion="0"
ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"><Method ID="1" Cmd="New"><Field Name="ID">New</Field><Field Name="FSObjType">1</Field><Field Name="BaseName">Name</Field></Method>
</Batch>
更新文件夹的xml代码:
<Batch OnError="Continue" PreCalc="TRUE"
ListVersion="0"
ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"><Method ID="1" Cmd="Update"><Field Name="ID">3</Field><Field Name="owshiddenversion">1</Field><Field Name="FileRef">http://Server/[sites/][Site/]Shared Documents/Folder</Field><Field Name="FSObjType">1</Field><Field Name="BaseName">Name</Field></Method>
</Batch>
删除文件夹xml代码:
<Batch OnError="Continue" PreCalc="TRUE"
ListVersion="0"
ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"><Method ID="1" Cmd="Delete"><Field Name="ID">4</Field><Field Name="FileRef">http://Server/[sites/][Site/]Shared Documents/Folder</Field></Method>
</Batch>
更新文件夹里文件的xml代码:
<Batch OnError="Continue" PreCalc="TRUE"
ListVersion="0"
ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"><Method ID="1" Cmd="Update"><Field Name="ID">2</Field><Field Name="owshiddenversion">1</Field><Field Name="FileRef">http://Server/[sites/][Site/]Shared Documents/File</Field><Field Name="BaseName">Name</Field></Method>
</Batch>
删除文件夹里文件的xml代码:
<Batch OnError="Continue" PreCalc="TRUE"
ListVersion="0"
ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"><Method ID="1" Cmd="Delete"><Field Name="ID">3</Field><Field Name="FileRef">http://Server/[sites/][Site/]Shared Documents/File</Field></Method>
</Batch>
调用方法:
Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
listService.Credentials= System.Net.CredentialCache.DefaultCredentials;string strBatch = "<Method ID='1' Cmd='Update'>" + "<Field Name='ID'>4</Field>" +"<Field Name='Field_Number'>999</Field></Method>" +"<Method ID='2' Cmd='Update'><Field Name='ID' >6</Field>" +"<Field Name='Field_DateTime'>2003-11-11T09:15:30Z</Field></Method>"; XmlDocument xmlDoc = new System.Xml.XmlDocument();System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");elBatch.SetAttribute("OnError","Continue");
elBatch.SetAttribute("ListVersion","1");
elBatch.SetAttribute("ViewName","0d7fcacd-1d7c-45bc-bcfc-6d7f7d2eeb40");elBatch.InnerXml = strBatch;XmlNode ndReturn = listService.UpdateListItems("List_Name", elBatch);MessageBox.Show(ndReturn.OuterXml);
返回XmlNode代码的格式:
<Results xmlns="http://schemas.microsoft.com/sharepoint/soap/"><Result ID="1,Update"><ErrorCode>0x00000000</ErrorCode><z:row ows_ID="4" ows_Title="Title" ows_Modified="2003-06-19 20:31:21" ows_Created="2003-06-18 10:15:58" ows_Author="3;#User1_Display_Name" ows_Editor="7;#User2_Display_Name" ows_owshiddenversion="3" ows_Attachments="-1" ows__ModerationStatus="0" ows_LinkTitleNoMenu="Title" ows_LinkTitle="Title" ows_SelectTitle="4" ows_Order="400.000000000000" ows_GUID="{4962F024-BBA5-4A0B-9EC1-641B731ABFED}" ows_DateColumn="2003-09-04 00:00:00" ows_NumberColumn="791.00000000000000" xmlns:z="#RowsetSchema" /></Result><Result ID="2,Update"><ErrorCode>0x00000000</ErrorCode><z:row ows_ID="6" ows_Title="Title" ows_Modified="2003-06-19 20:31:22" ows_Created="2003-06-18 19:07:14" ows_Author="2;#User1_Display_Name" ows_Editor="6;#User2_Display_Name" ows_owshiddenversion="4" ows_Attachments="0" ows__ModerationStatus="0" ows_LinkTitleNoMenu="Title" ows_LinkTitle="Title" ows_SelectTitle="6" ows_Order="600.000000000000" ows_GUID="{2E8D2505-98FD-4E3E-BFDA-0C3DEBE483F7}" ows_DateColumn="2003-06-23 00:00:00" ows_NumberColumn="9001.00000000000000" xmlns:z="#RowsetSchema" /></Result>...
</Results>
取返回值的方法:
foreach (XmlNode node in nodes){if (node.Name == "rs:data"){for (int i = 0; i < node.ChildNodes.Count; i++){if (node.ChildNodes[i].Name == "z:row"){string ID = node.ChildNodes[i].Attributes["ows_ID"].Value;string Title = node.ChildNodes[i].Attributes["ows_Title"].Value;}}}}
总结
简单介绍了Lists.UpdateListItems (string listName,XmlNode node)的用法。
转载于:https://www.cnblogs.com/springyangwc/archive/2011/07/15/2107748.html
sharepoint Lists Web service 用法相关推荐
- 使用SharePoint 2007 Web Service上传文件到文档库
SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Servi ...
- SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...
- 一步步学习微软InfoPath2010和SP2010--第九章节--使用SharePoint用户配置文件Web service(2)--在事件注册表单上创建表单加载规则...
下面练习中,你将添加表单加载规则,将四个文本框域和图片控件与用户配置文件web service连接.当使用用户配置文件web service时,你需要将控件和来自web service合适的域绑定.这 ...
- SharePoint Web Service系列: Add或Update其他各种类型的项
在前面,我们讨论了如何Add或Update类型为User的项.因为User类型多少比较特殊.作为SharePoint Web Service系列讨论的结束,我们将讨论各种其他类型的项如何来写. 在SD ...
- 一步步学习微软InfoPath2010和SP2010--第九章节--使用SharePoint用户配置文件Web service(2)--在事件注册表单上创建表单加载规则
下面练习中,你将添加表单加载规则,将四个文本框域和图片控件与用户配置文件web service连接.当使用用户配置文件web service时,你需要将控件和来自web service合适的域绑定.这 ...
- 如何使用Web Service新建和更新Wiki页面的内容
公司内部有很多部门都创建了Wiki库,来做知识共享.公司是Hosting的SharePoint环境,不能写服务器端代码,要操作Wiki只能通过Web Service来完成,所以,碰到两个情况: 1)W ...
- Java如何通过WSDL文件来调用这些web service
下面我们来看Java如何通过WSDL文件来调用这些web service: 注意,以下的代码并没有经过真正的测试,只是说明这些情况,不同版本的Axis相差很大,大家最好以apache网站上的例子为准, ...
- 使用Java调用以WSDL形式发布的web service
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- 如何在 SAP BTP 平台 ABAP 编程环境里消费基于 SOAP 的 Web Service
这是 Jerry 2021 年的第 47 篇文章,也是汪子熙公众号总共第 324 篇原创文章. Jerry 2014 年时,曾经在 SAP 社区上写过一篇英文博客,介绍了如何在 ABAP On-Pre ...
最新文章
- VIP群第一期讲座实屏片段摘录
- JavaIO简单代码实例
- Swift字典Dictionary快速文档
- RocketMQ集群搭建-4.2.0版本
- PHP json_encode() 函数介绍
- 简明python教程 --C++程序员的视角(二):函数及作用域
- python做基本的图像处理
- 2×3卡方检验prism_分类变量的相关性:五分钟掌握卡方检验「从理论到Python实战」...
- IIS+PHP环境下出现HTTP 500服务器内部错误——请检查权限设置
- java 线程安全集合
- 拷贝构造函数什么时候调用?
- selenium1和2区别
- 如何批量裁剪pdf文件中的白边
- linux 核显驱动程序,在Ubuntu系统上安装英特尔核显驱动安装器的方法
- 《吴忠与富平》之四:汉三水属国(北地属国、安定属国)
- HDU - 6609
- 一元二次方程虚根求法java_请问怎么用C语言求一元二次方程的虚根
- Linkedin领英如何添加或更改账号的邮箱地址
- 解决h5中video标签返回流无法快进和后退的问题
- Jacob实现文字转换语音
热门文章
- 爱情是一出未经排练的戏
- owa_util.get_cgi_env 函数参数说明.
- AndroidManifest.xml中Activity ConfigChanges属性的用法
- 利用Windows API获得系统高级功能
- TreeSet,Hashset,Set集合转为整型数组
- ELK技术栈—Logstash—Input插件
- 常见索引结构—跳跃表
- [转]linux下TCP连接占用的资源
- Javascript继承4:洁净的继承者----原型式继承
- 每天一个Linux命令之date