Lists.UpdateListItems Method
Adiciona, exclui ou atualiza os itens especificados em uma lista no site atual.
Web Service: ListsWeb Reference: http://<Site>/_vti_bin/Lists.asmx
Syntax
'Declaração
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/UpdateListItems", RequestNamespace:="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace:="https://schemas.microsoft.com/sharepoint/soap/", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Wrapped)> _
PublicFunctionUpdateListItems ( _
listNameAsString, _
updatesAsXmlNode _
) AsXmlNode
'Uso
DiminstanceAsListsDimlistNameAsStringDimupdatesAsXmlNodeDimreturnValueAsXmlNodereturnValue = instance.UpdateListItems(listName, updates)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/UpdateListItems", RequestNamespace="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="https://schemas.microsoft.com/sharepoint/soap/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
publicXmlNodeUpdateListItems (
stringlistName,
XmlNodeupdates
)
Parameters
- listName
A string that contains the name of the list. It is recommended that you use the list GUID surrounded by curly braces (i.e.,"{
GUID}")
, but you can also use the list display name.
updates
Um elemento Batch que contém um ou mais métodos para atualizar itens e que pode ser atribuída a um objeto System.Xml.XmlNode, as in o exemplo a seguir.<Batch OnError="Continue" ListVersion="1" ViewName="270C0508-A54F-4387-8AD0-49686D685EB2"> <Method ID="1" Cmd="Update"> <Field Name="ID">4<Field> <Field Name="Field_Name">Value</Field> </Method> <Method ID="2" Cmd="Update"> <Field Name="ID" >6</Field> <Field Name="Field_Name">Value</Field> </Method> ... </Batch>
Um atributo ViewName vazio no elemento B atch faz com que a exibição padrão a ser usado. O atributo ID em cada elemento M ethod identifica a atualização específica para que erros e valores de retorno podem ser adequadamente identificados. Cada método que é postado contém elementos F ield que especificam a identificação do item e o novo valor do campo para o item. A campo Identificação não corresponde ao índice do item a coleção de itens para a lista.
O exemplo a seguir mostra os formatos para adicionar um novo item que contém um valor Date e um valor DateTime.
<Batch OnError="Continue" ListVersion="1" ViewName="270C0508-A54F-4387-8AD0-49686D685EB2"> <Method ID="1" Cmd="New"> <Field Name='ID'>New</Field> <Field Name="Title">Value</Field> <Field Name="Date_Column">2007-3-25</Field> <Field Name="Date_Time_Column"> 2006-1-11T09:15:30Z</Field> </Method> </Batch>
Para obter descrições dos vários formatos usados para campo tipos que podem ser passados nesse parâmetro Consulte SPListItem.
A apresentação exemplos a seguir os métodos que podem ser postados para operações relacionados a bibliotecas de documentos:
Criar uma pasta
<Batch OnError="Continue" PreCalc="TRUE" ListVersion="0" ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"> <Method ID="1" Cmd="New"> <Field Name="ID">New</Field> <Field Name="FSObjType">1</Field> <Field Name="BaseName">Name</Field> </Method> </Batch>
Atualizar uma pasta
<Batch OnError="Continue" PreCalc="TRUE" ListVersion="0" ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"> <Method ID="1" Cmd="Update"> <Field Name="ID">3</Field> <Field Name="owshiddenversion">1</Field> <Field Name="FileRef"> https://Server/[sites/][Site/]Shared Documents/Folder</Field> <Field Name="FSObjType">1</Field> <Field Name="BaseName">Name</Field> </Method> </Batch>
Excluir uma pasta
<Batch OnError="Continue" PreCalc="TRUE" ListVersion="0" ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"> <Method ID="1" Cmd="Delete"> <Field Name="ID">4</Field> <Field Name="FileRef"> https://Server/[sites/][Site/]Shared Documents/Folder</Field> </Method> </Batch>
Atualizar documentos
<Batch OnError="Continue" PreCalc="TRUE" ListVersion="0" ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"> <Method ID="1" Cmd="Update"> <Field Name="ID">2</Field> <Field Name="owshiddenversion">1</Field> <Field Name="FileRef"> https://Server/[sites/][Site/]Shared Documents/File</Field> <Field Name="BaseName">Name</Field> </Method> </Batch>
Excluir documentos
<Batch OnError="Continue" PreCalc="TRUE" ListVersion="0" ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"> <Method ID="1" Cmd="Delete"> <Field Name="ID">3</Field> <Field Name="FileRef"> https://Server/[sites/][Site/]Shared Documents/File</Field> </Method> </Batch>
Return Value
Um fragmento XMLDATA na forma a seguir que mostra o status de cada método bloco lançado por meio de parâmetro updates e que pode ser atribuída a um objeto System.Xml.XmlNode.Para itens atualizados com êxito, uma linha de fragmento é retornado com os valores atualizados de linha.
<Results xmlns="https://schemas.microsoft.com/sharepoint/soap/">
<Result ID="1,Update">
<ErrorCode>0x00000000</ErrorCode>
<z:row ows_ID="4" ows_Title="Title"
ows_Modified="2003-06-19 20:31:21"
ows_Created="2003-06-18 10:15:58"
ows_Author="3;#User1_Display_Name"
ows_Editor="7;#User2_Display_Name" ows_owshiddenversion="3"
ows_Attachments="-1"
ows__ModerationStatus="0" ows_LinkTitleNoMenu="Title"
ows_LinkTitle="Title"
ows_SelectTitle="4" ows_Order="400.000000000000"
ows_GUID="{4962F024-BBA5-4A0B-9EC1-641B731ABFED}"
ows_DateColumn="2003-09-04 00:00:00"
ows_NumberColumn="791.00000000000000"
xmlns:z="#RowsetSchema" />
</Result>
<Result ID="2,Update">
<ErrorCode>0x00000000</ErrorCode>
<z:row ows_ID="6" ows_Title="Title"
ows_Modified="2003-06-19 20:31:22"
ows_Created="2003-06-18 19:07:14"
ows_Author="2;#User1_Display_Name"
ows_Editor="6;#User2_Display_Name" ows_owshiddenversion="4"
ows_Attachments="0" ows__ModerationStatus="0"
ows_LinkTitleNoMenu="Title"
ows_LinkTitle="Title" ows_SelectTitle="6"
ows_Order="600.000000000000"
ows_GUID="{2E8D2505-98FD-4E3E-BFDA-0C3DEBE483F7}"
ows_DateColumn="2003-06-23 00:00:00"
ows_NumberColumn="9001.00000000000000"
xmlns:z="#RowsetSchema" />
</Result>
...
</Results>
Nesse exemplo, o ows_Author e ows_Editor atributos pertencem a campos de pesquisa para outra lista de banco de dados, que representa o inteiro identificações dos itens na tabela UserInfo e os valores reais contidos por esses itens dentro da tabela.
Example
O exemplo de código a seguir modifica os valores de dois valores diferentes campo dois itens em uma lista no site atual. O exemplo usa um objeto XmlDocument para criar objetos XmlNode de parâmetros.
Esse exemplo requer que um using (Visual C#) ou Imports (Visual Basic) diretiva estar incluído para o namespace System.Xml.
Dim listService As New Web_Reference_Folder.Lists()
listService.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim strBatch As String = "<Method ID='1' Cmd='Update'>" + _
"<Field Name='ID'>4</Field>
<Field Name='Field_Number'>999</Field></Method>" + _
"<Method ID='2' Cmd='Update'><Field Name='ID' >6</Field>" + _
"<Field Name='Field_DateTime'>
2003-11-11T09:15:30Z</Field></Method>"
Dim xmlDoc = New System.Xml.XmlDocument()
Dim elBatch As System.Xml.XmlElement = xmlDoc.CreateElement("Batch")
elBatch.SetAttribute("OnError", "Continue")
elBatch.SetAttribute("ListVersion", "1")
elBatch.SetAttribute("ViewName",
"0d7fcacd-1d7c-45bc-bcfc-6d7f7d2eeb40")
elBatch.InnerXml = strBatch
Dim ndReturn As XmlNode = listService.UpdateListItems("List_Name",
elBatch)
MessageBox.Show(ndReturn.OuterXml)
Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
listService.Credentials= System.Net.CredentialCache.DefaultCredentials;
string strBatch = "<Method ID='1' Cmd='Update'>" +
"<Field Name='ID'>4</Field>" +
"<Field Name='Field_Number'>999</Field></Method>" +
"<Method ID='2' Cmd='Update'><Field Name='ID' >6</Field>" +
"<Field Name='Field_DateTime'>
2003-11-11T09:15:30Z</Field></Method>";
XmlDocument xmlDoc = new System.Xml.XmlDocument();
System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");
elBatch.SetAttribute("OnError","Continue");
elBatch.SetAttribute("ListVersion","1");
elBatch.SetAttribute("ViewName",
"0d7fcacd-1d7c-45bc-bcfc-6d7f7d2eeb40");
elBatch.InnerXml = strBatch;
XmlNode ndReturn = listService.UpdateListItems("List_Name", elBatch);
MessageBox.Show(ndReturn.OuterXml);