概述

在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 用法相关推荐

  1. 使用SharePoint 2007 Web Service上传文件到文档库

    SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Servi ...

  2. SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)

    上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...

  3. 一步步学习微软InfoPath2010和SP2010--第九章节--使用SharePoint用户配置文件Web service(2)--在事件注册表单上创建表单加载规则...

    下面练习中,你将添加表单加载规则,将四个文本框域和图片控件与用户配置文件web service连接.当使用用户配置文件web service时,你需要将控件和来自web service合适的域绑定.这 ...

  4. SharePoint Web Service系列: Add或Update其他各种类型的项

    在前面,我们讨论了如何Add或Update类型为User的项.因为User类型多少比较特殊.作为SharePoint Web Service系列讨论的结束,我们将讨论各种其他类型的项如何来写. 在SD ...

  5. 一步步学习微软InfoPath2010和SP2010--第九章节--使用SharePoint用户配置文件Web service(2)--在事件注册表单上创建表单加载规则

    下面练习中,你将添加表单加载规则,将四个文本框域和图片控件与用户配置文件web service连接.当使用用户配置文件web service时,你需要将控件和来自web service合适的域绑定.这 ...

  6. 如何使用Web Service新建和更新Wiki页面的内容

    公司内部有很多部门都创建了Wiki库,来做知识共享.公司是Hosting的SharePoint环境,不能写服务器端代码,要操作Wiki只能通过Web Service来完成,所以,碰到两个情况: 1)W ...

  7. Java如何通过WSDL文件来调用这些web service

    下面我们来看Java如何通过WSDL文件来调用这些web service: 注意,以下的代码并没有经过真正的测试,只是说明这些情况,不同版本的Axis相差很大,大家最好以apache网站上的例子为准, ...

  8. 使用Java调用以WSDL形式发布的web service

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

  9. 如何在 SAP BTP 平台 ABAP 编程环境里消费基于 SOAP 的 Web Service

    这是 Jerry 2021 年的第 47 篇文章,也是汪子熙公众号总共第 324 篇原创文章. Jerry 2014 年时,曾经在 SAP 社区上写过一篇英文博客,介绍了如何在 ABAP On-Pre ...

最新文章

  1. VIP群第一期讲座实屏片段摘录
  2. JavaIO简单代码实例
  3. Swift字典Dictionary快速文档
  4. RocketMQ集群搭建-4.2.0版本
  5. PHP json_encode() 函数介绍
  6. 简明python教程 --C++程序员的视角(二):函数及作用域
  7. python做基本的图像处理
  8. 2×3卡方检验prism_分类变量的相关性:五分钟掌握卡方检验「从理论到Python实战」...
  9. IIS+PHP环境下出现HTTP 500服务器内部错误——请检查权限设置
  10. java 线程安全集合
  11. 拷贝构造函数什么时候调用?
  12. selenium1和2区别
  13. 如何批量裁剪pdf文件中的白边
  14. linux 核显驱动程序,在Ubuntu系统上安装英特尔核显驱动安装器的方法
  15. 《吴忠与富平》之四:汉三水属国(北地属国、安定属国)
  16. HDU - 6609
  17. 一元二次方程虚根求法java_请问怎么用C语言求一元二次方程的虚根
  18. Linkedin领英如何添加或更改账号的邮箱地址
  19. 解决h5中video标签返回流无法快进和后退的问题
  20. Jacob实现文字转换语音

热门文章

  1. 爱情是一出未经排练的戏
  2. owa_util.get_cgi_env 函数参数说明.
  3. AndroidManifest.xml中Activity ConfigChanges属性的用法
  4. 利用Windows API获得系统高级功能
  5. TreeSet,Hashset,Set集合转为整型数组
  6. ELK技术栈—Logstash—Input插件
  7. 常见索引结构—跳跃表
  8. [转]linux下TCP连接占用的资源
  9. Javascript继承4:洁净的继承者----原型式继承
  10. 每天一个Linux命令之date