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

本文介绍了一个使用WebService方式从异构应用访问SharePoint 2003列表的具体示例。通过.NET Framework 3.0下的控制台应用程序实现了向指定列表添加记录的功能。

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

None.gifusing System;
None.gif
using System.Xml;
None.gif
using System.Collections.Generic;
None.gif
using System.Text;
None.gif
None.gif
namespace ConsoleDemo
ExpandedBlockStart.gifContractedBlock.gifdot.gif
dot.gif{
InBlock.gif    
class Program
ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif
dot.gif{
InBlock.gif        
static void Main(string[] args)
ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif
dot.gif{
InBlock.gif
InBlock.gif            
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif
dot.gif{
InBlock.gif                test();
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch (Exception ex)
ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif
dot.gif{
InBlock.gif                Console.WriteLine(ex.Message);
ExpandedSubBlockEnd.gif            }

InBlock.gif            Console.WriteLine(
"END");
InBlock.gif            Console.Read();
ExpandedSubBlockEnd.gif        }

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

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

转载于:https://www.cnblogs.com/jhobo/archive/2007/06/06/773670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值