好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

sharepoint Lists Web service 用法

sharepoint Lists Web service 用法

概述

在sharepoint 项目中,后期做数据迁移时,会用到sharepoint的web service来完成把数据导入sharepoint站点的功能。

web service 名称:

http://[site]/_vti_bin/Lists.asmx

我们用它来新增,修改或者删除当前站点特定list 的item操作。

调用的方法:

view source print ?

1 [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)] 

2 public XmlNode UpdateListItems (

3      string listName,

4      XmlNode updates

5 )

listName:当前站点list的名字。

操作list的item则通过XmlNode来完成。

更改普通list里item对应field Name的xml代码:

view source print ?

01 <Batch OnError= "Continue" ListVersion= "1"  

02 ViewName= "270C0508-A54F-4387-8AD0-49686D685EB2" >

03     <Method ID= "1" Cmd= "Update" >

04        <Field Name= "ID" >4<Field>

05        <Field Name= "Field_Name" >Value</Field>

06     </Method>

07     <Method ID= "2" Cmd= "Update" >

08        <Field Name= "ID" >6</Field>

09        <Field Name= "Field_Name" >Value</Field>

10     </Method>

11 </Batch>

新增list里item的xml代码:

view source print ?

01 <Batch OnError= "Continue" ListVersion= "1"  

02 ViewName= "270C0508-A54F-4387-8AD0-49686D685EB2" >

03     <Method ID= "1" Cmd= "New" >

04        <Field Name= 'ID' >New</Field>

05        <Field Name= "Title" >Value</Field>

06        <Field Name= "Date_Column" >2007-3-25</Field>

07        <Field Name= "Date_Time_Column" >

08           2006-1-11T09:15:30Z</Field>

09     </Method>

10 </Batch>

删除list里item的xml代码:

view source print ?

1 <Batch OnError= "Continue" ListVersion= "1"  

2 ViewName= "270C0508-A54F-4387-8AD0-49686D685EB2" >

3     <Method ID= "1" Cmd= "Delete" >

4        <Field Name= 'ID' >2</Field>

5     </Method>

6     <Method ID= "2" Cmd= "Delete" >

7        <Field Name= 'ID' >8</Field>

8     </Method>

9 </Batch>

document libraries操作:

新建文件夹xml的代码:

view source print ?

1 <Batch OnError= "Continue" PreCalc= "TRUE"  

2 ListVersion= "0"  

3 ViewName= "{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}" >

4     <Method ID= "1" Cmd= "New" >

5        <Field Name= "ID" >New</Field>

6        <Field Name= "FSObjType" >1</Field>

7        <Field Name= "BaseName" >Name</Field>

8     </Method>

9 </Batch>

更新文件夹的xml代码:

view source print ?

01 <Batch OnError= "Continue" PreCalc= "TRUE"  

02 ListVersion= "0"  

03 ViewName= "{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}" >

04     <Method ID= "1" Cmd= "Update" >

05        <Field Name= "ID" >3</Field>

06        <Field Name= "owshiddenversion" >1</Field>

07        <Field Name= "FileRef" >

08           http: //Server/[sites/][Site/]Shared 

09           Documents/Folder</Field>

10        <Field Name= "FSObjType" >1</Field>

11        <Field Name= "BaseName" >Name</Field>

12     </Method>

13 </Batch>

删除文件夹xml代码:

view source print ?

01 <Batch OnError= "Continue" PreCalc= "TRUE"  

02 ListVersion= "0"  

03 ViewName= "{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}" >

04     <Method ID= "1" Cmd= "Delete" >

05        <Field Name= "ID" >4</Field>

06        <Field Name= "FileRef" >

07           http: //Server/[sites/][Site/]Shared 

08           Documents/Folder</Field>

09     </Method>

10 </Batch>

更新文件夹里文件的xml代码:

view source print ?

01 <Batch OnError= "Continue" PreCalc= "TRUE"  

02 ListVersion= "0"  

03 ViewName= "{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}" >

04     <Method ID= "1" Cmd= "Update" >

05        <Field Name= "ID" >2</Field>

06        <Field Name= "owshiddenversion" >1</Field>

07        <Field Name= "FileRef" >

08           http: //Server/[sites/][Site/]Shared 

09           Documents/File</Field>

10        <Field Name= "BaseName" >Name</Field>

11     </Method>

12 </Batch>

删除文件夹里文件的xml代码:

view source print ?

01 <Batch OnError= "Continue" PreCalc= "TRUE"  

02 ListVersion= "0"  

03 ViewName= "{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}" >

04     <Method ID= "1" Cmd= "Delete" >

05        <Field Name= "ID" >3</Field>

06        <Field Name= "FileRef" >

07           http: //Server/[sites/][Site/]Shared 

08           Documents/File</Field>

09     </Method>

10 </Batch>

调用方法:

view source print ?

01 Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();

02 listService.Credentials= System.Net.CredentialCache.DefaultCredentials;

03    

04 string strBatch = "<Method ID='1' Cmd='Update'>" + 

05      "<Field Name='ID'>4</Field>" +

06      "<Field Name='Field_Number'>999</Field></Method>" +

07      "<Method ID='2' Cmd='Update'><Field Name='ID' >6</Field>" +

08      "<Field Name= 'Field_DateTime' >

09          2003-11-11T09:15:30Z</Field></Method>"; 

10    

11 XmlDocument xmlDoc = new System.Xml.XmlDocument();

12    

13 System.Xml.XmlElement elBatch = xmlDoc.CreateElement( "Batch" );

14    

15 elBatch.SetAttribute( "OnError" , "Continue" );

16 elBatch.SetAttribute( "ListVersion" , "1" );

17 elBatch.SetAttribute( "ViewName" ,

18      "0d7fcacd-1d7c-45bc-bcfc-6d7f7d2eeb40" );

19    

20 elBatch.InnerXml = strBatch;

21    

22 XmlNode ndReturn = listService.UpdateListItems( "List_Name" , elBatch);

23    

24 MessageBox.Show(ndReturn.OuterXml);

返回XmlNode代码的格式:

view source print ?

01 <Results xmlns= " http://schemas.microsoft.com/sharepoint/soap/ " >

02     <Result ID= "1,Update" >

03        <ErrorCode>0x00000000</ErrorCode>

04        <z:row ows_ID= "4" ows_Title= "Title"  

05           ows_Modified= "2003-06-19 20:31:21"  

06           ows_Created= "2003-06-18 10:15:58"  

07           ows_Author= "3;#User1_Display_Name"  

08           ows_Editor= "7;#User2_Display_Name" ows_owshiddenversion= "3"  

09           ows_Attachments= "-1"  

10           ows__ModerationStatus= "0" ows_LinkTitleNoMenu= "Title"  

11           ows_LinkTitle= "Title"  

12           ows_SelectTitle= "4" ows_Order= "400.000000000000"  

13           ows_GUID= "{4962F024-BBA5-4A0B-9EC1-641B731ABFED}"  

14           ows_DateColumn= "2003-09-04 0"  

15           ows_NumberColumn= "791.00000000000000"  

16           xmlns:z= "#RowsetSchema" />

17     </Result>

18     <Result ID= "2,Update" >

19        <ErrorCode>0x00000000</ErrorCode>

20        <z:row ows_ID= "6" ows_Title= "Title"  

21           ows_Modified= "2003-06-19 20:31:22"  

22           ows_Created= "2003-06-18 19:07:14"  

23           ows_Author= "2;#User1_Display_Name"  

24           ows_Editor= "6;#User2_Display_Name" ows_owshiddenversion= "4"  

25           ows_Attachments= "0" ows__ModerationStatus= "0"  

26           ows_LinkTitleNoMenu= "Title"  

27           ows_LinkTitle= "Title" ows_SelectTitle= "6"  

28           ows_Order= "600.000000000000"  

29           ows_GUID= "{2E8D2505-98FD-4E3E-BFDA-0C3DEBE483F7}"  

30           ows_DateColumn= "2003-06-23 0"  

31           ows_NumberColumn= "9001.00000000000000"  

32           xmlns:z= "#RowsetSchema" />

33     </Result>

34     ...

35 </Results>

取返回值的方法:

view source print ?

01 foreach (XmlNode node in nodes)

02 {

03      if (node.Name == "rs:data" )

04      {

05          for ( int i = 0; i < node.ChildNodes.Count; i++)

06          {

07              if (node.ChildNodes[i].Name == "z:row" )

08              {

09                    

10                  string ID = node.ChildNodes[i].Attributes[ "ows_ID" ].Value;

11                  string Title = node.ChildNodes[i].Attributes[ "ows_Title" ].Value;

12  

13              }

14          }

15      }

16 }

总结

简单介绍了Lists.UpdateListItems (string listName,XmlNode node)的用法。

作者: Leo_wl

    

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

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于sharepoint Lists Web service 用法的详细内容...

  阅读:44次