SharePoint 調用 WebService操作List小記


簡述:在SharePoint的使用中,經常需要進行系統集成這樣的操作,我們作為SharePoint開發,就需要給其他系統提供接口,而SharePoint提供的WebService就很好的提供了這樣的功能,我們簡單了解下,通過SharePoint提供WebService對列表進行操作

步驟:

1、 首先,新建一個控制台程序,添加WebService的引用

地址http://<site>/_vti_bin/Lists.asmx

<site>為網站的地址,包括端口號

2、引用 - 右鍵 - 添加服務引用(如圖1)– 高級 – 添加Web引用 – URL處填寫WebService地址(如圖2)

clip_image001

(圖1)

clip_image003

(圖2)

3、 獲取List信息

try

{

WebServices1.Lists listService = new GetListTest.WebServices1.Lists();

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

XmlNode ndLists = listService.GetList("Test");//參數列表名,String類型

Console.Write(ndLists.OuterXml);

}

catch (Exception ex)

{

Console.Write(ex.Message);

}

4、 獲取List信息結果

clip_image005

5、 獲取ListItem信息

//獲取ListItem信息

WebServices1.Lists listService = new GetListTest.WebServices1.Lists();

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

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

XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");

XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");

XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");

ndQueryOptions.InnerXml = ""; //Query設置

ndViewFields.InnerXml = ""; //視圖設置

ndQuery.InnerXml = ""; //Caml語句

try

{

XmlNode ndListItems = listService.GetListItems("Test", null, ndQuery, ndViewFields, "1", ndQueryOptions, null); //獲取列表內容

Console.Write(ndListItems.OuterXml); //輸出獲取的Xml內容

}

catch (System.Web.Services.Protocols.SoapException ex)

{

}

6、 獲取ListItem信息結果

clip_image007

7、 修改ListItem項

WebServices1.Lists listService = new WebServices1.Lists();

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

string strBatch = "<Method ID='1' Cmd='Update'>" +//cmd參數,Update為更新,還有New、Delete

"<Field Name='ID'>1</Field>" +//Name屬性為字段名稱,里面為字段值

"<Field Name='Title'>這個已經被修改了</Field></Method>";

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

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

elBatch.InnerXml = strBatch;

XmlNode ndReturn = listService.UpdateListItems("Test", elBatch);//第一個參數是列表名

Console.Write("操作成功");

8、修改ListItem后的結果

clip_image009

8、 以上是幾個操作List的WebService的示例,自己也是參考微軟的示例代碼,讀取出來的信息是Xml,然后在Xml中獲取我們需要的信息就可以了。

Lists的SDK地址: http://msdn.microsoft.com/zh-cn/library/websvclists.lists_methods(v=office.12).aspx

******************************************************************************

  作者:霖雨

  出處:http://www.cnblogs.com/jianyus

  本文版權歸 霖雨和博客園共有,歡迎轉載,但請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM