当前位置: 首页 > news >正文

SharePoint Web Service系列:进行列表的增删改

异构应用访问SharePoint的文档库或列表时,使用WebService的方式再恰当不过了。有朋友问我如何在dotNet Framework 3.0下的应用程序中控制SharePoint 2003中的列表项。想一想类似的场景应该比较常见,所以写了下面的demo。以下的代码在VS2005中测试通过。

using System;
using System.Xml;
using System.Collections.Generic;
using System.Text;

namespace ConsoleDemo
{
class Program
{
static void Main( string []args)
{

try
{
test();
}
catch (Exceptionex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine(
" END " );
Console.Read();
}

private static void test()
{
LabPortal.ListslistService
= new ConsoleDemo.LabPortal.Lists();
listService.Credentials
= System.Net.CredentialCache.DefaultCredentials;

string strBatch = " <MethodID='1'Cmd='New'> " + //
// ID是Method的唯一标识,如果有多个Method就都列在下面
// Cmd的类型有:New,Update,Delete。分别对应增加,删除,更新
" <FieldName='ID'>New</Field> " + //
// ID在增加操作时只是个唯一标记,可以随便指定,并不对应到实际
// listitem的ID。但在删除和更新时就必须是实际的ID了,因为要靠这个来唯一指定一条记录
" <FieldName='Title'>Smf</Field> " +
" </Method> " ;
XmlDocumentxmlDoc
= new XmlDocument();
XmlElementelBatch
= xmlDoc.CreateElement( " Batch " );
// Batch元素下面的这些Attribue是可选的
elBatch.SetAttribute( " OnError " , " Continue " ); // 指定出错后是返回还是继续下一步
elBatch.SetAttribute( " ListVersion " , " 1 " ); // 指定列表的版本
elBatch.SetAttribute( " ViewName " , " 654446D3-8E70-4483-B2B6-F87329EAC2D9 " ); // 指定所操作的列表视图GUID
elBatch.InnerXml = strBatch;
XmlNodendReturn
= listService.UpdateListItems( " Contracts " ,elBatch); // 在名为Contracts的联系人列表中增加一条记录

Console.WriteLine(ndReturn.OuterXml);
}
}
}

相关文章:

  • python蜂窝状六边形_画多层六边形(小区),蜂窝状,matlab
  • SharePoint Web Service系列: Add或Update类型为User的项
  • 哲学家就餐问题python_Python实现哲学家就餐问题实例代码
  • SharePoint Web Service系列:获取文档的属性信息
  • 如何设置两个textview 的内容在listview同一行里_西门子触摸屏如何与S7-1200/1500的PLC-SIM离线仿真
  • SharePoint Web Service系列:编写自定义SharePoint Web Services之一
  • 无线鼠标可以强制配对_一款简单的小设备,吉选gesobyte无线鼠标
  • oracle sql查询时间_「Burpsuite练兵场」SQL注入及相关实验(二)
  • SharePoint Web Service系列:编写自定义SharePoint Web Services之二
  • python2clock_Python3 time clock()方法
  • SharePoint Web Service系列: Add或Update其他各种类型的项
  • mysql 视图_mysql中常见的视图操作,你理解了吗?
  • Windows文件操作的直接函数调用
  • python同名包_python去除rpm仓库中同名低版本的包
  • MOSS2007基础:Windows SharePoint Services 3.0中的Web Part
  • #Java异常处理
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【前端学习】-粗谈选择器
  • Android组件 - 收藏集 - 掘金
  • canvas 绘制双线技巧
  • chrome扩展demo1-小时钟
  • exports和module.exports
  • isset在php5.6-和php7.0+的一些差异
  • JS字符串转数字方法总结
  • mysql 5.6 原生Online DDL解析
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 聊聊sentinel的DegradeSlot
  • 容器服务kubernetes弹性伸缩高级用法
  • 详解移动APP与web APP的区别
  • 一道闭包题引发的思考
  • No resource identifier found for attribute,RxJava之zip操作符
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (1)(1.11) SiK Radio v2(一)
  • (3)选择元素——(17)练习(Exercises)
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Git) gitignore基础使用
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .Net 路由处理厉害了
  • .net程序集学习心得
  • .Net多线程总结
  • .NET开源快速、强大、免费的电子表格组件
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • /bin/rm: 参数列表过长"的解决办法
  • :中兴通讯为何成功
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [20140403]查询是否产生日志