Lists.UpdateListItems方法的签名为:
public XmlNode UpdateListItems (string listName,XmlNode updates);
第一个参数listName为要操作的List的名字, 其实也可以使用该List的GUID值(包括"{}");
关键是第二个参数, 是用CAML定义的XML格式的XmlNode节点, 我使用的一般的格式为:
<
Batch
OnError
="Continue"
ViewName
=""
>
< Method ID ="" Cmd ="New" >
< Field Name ="FieldNameOne" > FieldValueOne </ Field >
< Field Name ="FieldNameTwo" > FieldValueTwo </ Field >
</ Method >
< Method ID ="" Cmd ="Update" >
< Field Name ="ID" > IDValue </ Field >
< Field Name ="FieldNameOne" > FieldValueOne </ Field >
< Field Name ="FieldNameTwo" > FieldValueTwo </ Field >
</ Method >
< Method ID ="" Cmd ="Delete" >
< Field Name ="ID" > IDValue </ Field >
< Field Name ="FieldNameOne" > FieldValueOne </ Field >
< Field Name ="FieldNameTwo" > FieldValueTwo </ Field >
</ Method >
</ Batch >
< Method ID ="" Cmd ="New" >
< Field Name ="FieldNameOne" > FieldValueOne </ Field >
< Field Name ="FieldNameTwo" > FieldValueTwo </ Field >
</ Method >
< Method ID ="" Cmd ="Update" >
< Field Name ="ID" > IDValue </ Field >
< Field Name ="FieldNameOne" > FieldValueOne </ Field >
< Field Name ="FieldNameTwo" > FieldValueTwo </ Field >
</ Method >
< Method ID ="" Cmd ="Delete" >
< Field Name ="ID" > IDValue </ Field >
< Field Name ="FieldNameOne" > FieldValueOne </ Field >
< Field Name ="FieldNameTwo" > FieldValueTwo </ Field >
</ Method >
</ Batch >
这里有要说明的地方:
一个Batch节点下可以有多个Method节点, 每个Method节点都有一个Cmd属性, 指明是那种操作, 可以为"New", "Update", 或者是"Delete";
每个Method节点下可以有多个Field节点, 这里有个关键点是: New的时候可以不指定, 但是Update和Delete的时候必须指定Name="ID"的Field节点, 否则操作会失败, 其实很容易可以想象出来其中的道理, 这个ID可以观察到, 这里推荐一个工具:SharePoint Manager 2007
mickeysuda 2008-02-15 15:52
发表评论
文章来源: http://www.cnblogs.com/mickeysuda/archive/2008/02/15/1069825.html