zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Convert Sorted Array to Binary Search Tree数组变成高度平衡的二叉树
    695. Max Area of Island最大岛屿面积
    257. Binary Tree Paths返回所有深度优先的遍历
    112. Path Sum二叉树路径和
    对称二叉树 · symmetric binary tree
    100. Same Tree同样的树
    计数排序 (Counting Sort)
    基数排序 (Radix Sort)
    Linux 文件基本属性
    gensuitemodule (Mac OS) – Python 中文开发手册
  • 原文地址:https://www.cnblogs.com/gaoxingstyle/p/2936521.html
Copyright © 2011-2022 走看看