Compartilhar via


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);

See Also

Reference

Lists Class
Lists Members
Lists Web Service