您的位置:首页 > 其它

用好ProcessBatchData (2)批量创建

2010-07-29 15:13 211 查看
批量创建的格式如下:

<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Continue">
<Method ID='0'>
<SetVar Name="Cmd">Save</SetVar>
<SetVar Name="ID">New</SetVar>
<SetList>af653a38-7a6a-455c-a295-1604c4104a61</SetList>
<SetVar Name="urn:schemas-microsoft-com:office:office#ContentType">Item子类型</SetVar>
<SetVar Name="urn:schemas-microsoft-com:office:office#Title">Item001</SetVar>
<SetVar Name="owsfileref">/ProjectCenter/ATP/Lists/Schedules/folderLevel1/Item001</SetVar>
</Method>
</ows:Batch>

上一篇已经以此例做了概述的说明,此处仅补充一些关键的地方

<SetVar Name="ID">New</SetVar>
此行是不可少的,表示创建一个新的条目

<SetVar Name="owsfileref">/ProjectCenter/ATP/Lists/Schedules/folderLevel1/Item001</SetVar>
此行表示创建到哪个位置下,“/ProjectCenter/ATP/Lists/Schedules/folderLevel1/“是相对于SiteCollection的路径,第一个斜杠“/”不要忘记加上,“Item001”在创建文档时,表示一个文档的文件名,如“mytxt.txt”;创建Item时,界面上是不可看到,也不可编辑,但是必须保证该值是唯一的,否则创建失败。

自定义的Field,前面必须要加上="urn:schemas-microsoft-com:office:office#“,而且必须是内部值,很多中文的名称变成如下的形式:“_x5de5__x671f_”。

有些资料上提到的变量“FSObjType”,我试过多次,没有发现有什么用处,有没有它,都能够创建成功。

创建Item和Folder类型有一定区别:

1. 在ContentType变量处写上对应的内容类型就可以了,这点Item和Folder类型的ContentType是一样的,如果仅是文件夹本身,甚至直接写上“文件夹”也可以创建成功,也许有更好的办法也未可知。

2. 创建Folder类型的ContentType时,owsfileref变量最后的Item001默认为Folder的标题,Title可以不需要,但是Item类型的是必须的,否则Title值为空(显示为“无标题”)。

在打开内容审批的列表下,使用Save是无法给“审批状态”赋值的,此时需要用到Moderate,实际上Moderate也可以给其他变量赋值,比如Title等,具体的区别单独讨论。

下一节讲述批量更新,点击进入下一节 用好ProcessBatchData (2)批量更新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: