当前位置:  开发笔记 > 编程语言 > 正文

SharePoint - 如何使用列表Web服务插入新项目?

如何解决《SharePoint-如何使用列表Web服务插入新项目?》经验,为你挑选了1个好方法。

我有一个包含2个文本字段的列表和一个选择字段.如何使用Lists.asmx Web服务插入新项?我可以对lists.asmx服务进行Web引用,因此您可以假设这是已知的.

我想要一个完整的例子,包括代码和CAML查询的XML.理想情况下,样本将使用C#.



1> jan.vdbergh..:

使用列表Web服务将项目插入SharePoint列表确实很棘手.由于此方法的格式为:XML in,XML out,因此很难获得正确的参数.

首先,您应该看一下列表定义.可以使用GetList()方法检索它,如下所示:

XmlNode listXml = sharePointLists.GetList(listName);
File.WriteAllText("listdefinition.xml", listXml.OuterXml);

这里重要的是字段的名称及其数据类型.字段名称将永远不会与您在SharePoint GUI中看到的字段名称相同.一个很好的例子是Title字段,它用于列表的第一个字段.

既然您知道这一点,就可以创建查询以转到SharePoint.一个例子:


    
        Abcdef
        999050
        Open    
    

Batch元素是XML的根元素.在里面你可以把不同的方法.这些应该获得一个唯一的ID(用于向您报告错误)和一个命令,例如可以是"新建"或"更新".在Method中,您可以放置​​Field元素,为每个字段指定值.例如,Title字段获取值"Abcdef".请小心使用GetList()返回的确切名称.

要在SharePoint上执行查询,请使用UpdateListItems()方法:

XmlNode result = sharePointLists.UpdateListItems(listDefinition.Name, updates);

返回值是包含每个更新状态的XML片段.例如:


    
    0x00000000
    
    

您可以解析它并查看ErrorCode以查看哪些方法失败.

在实践中,我创建了一个包装类,为我处理所有脏的细节.不幸的是,这是我的雇主所有,所以我不能与你分享.

此包装类是内部实用程序的一部分,该实用程序用于从项目数据库中检索信息并将其发布到SharePoint.由于它是在公司期间开发的,我不允许在这里发布.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有