sharepoint Lists Web service 用法
生活随笔
收集整理的這篇文章主要介紹了
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 用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android QR Code】开源项
- 下一篇: 一步步创建 边栏 Gadget(一)