Метод Lists.UpdateListItems
Добавляет, удаляет или обновляет выбранные элементы в списке на текущий сайт.
Пространство имен: WebSvcLists
Сборка: STSSOAP (в STSSOAP.dll)
Синтаксис
'Декларация
<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)> _
Public Function UpdateListItems ( _
listName As String, _
updates As XmlNode _
) As XmlNode
'Применение
Dim instance As Lists
Dim listName As String
Dim updates As XmlNode
Dim returnValue As XmlNode
returnValue = 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)]
public XmlNode UpdateListItems(
string listName,
XmlNode updates
)
Параметры
listName
Тип: System.StringСтрока, содержащая имя списка. Рекомендуется использовать глобальный уникальный идентификатор, заключенные в фигурные скобки (то есть,GUID"{}"), но также можно использовать отображаемое имя списка.
updates
Тип: System.Xml.XmlNodeЭлемент Batch , который содержит один или несколько методов для добавления, изменения или удаления элементов и может быть назначены объект System.Xml.XmlNode . Число элементов списка, которые можно изменить через метод UpdateListItems(String, XmlNode) в одном пакете ограничено 160.
Возвращаемое значение
Тип: System.Xml.XmlNode
Фрагмент XMLDATA в следующей форме, отображаются сведения о состоянии каждого блока метода, размещенные через параметр updates и может быть назначены объект System.Xml.XmlNode . Для успешного обновления элементов фрагмент строки возвращается со значениями обновленные строки.
<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>
В этом примере атрибуты ows_Author и ows_Editor относятся к полей подстановки в другой список в базе данных, представляющее целое число идентификаторы элементов в таблице UserInfo и фактических значений, содержащихся в эти элементы в таблице.
Примеры
В следующем примере кода изменяются два значения другому полю в двух элементов списка на текущем сайте. В примере используется объект XmlDocument для создания объектов XmlNode для параметров.
В этом примере требуется директива Imports (Visual Basic) была включена в пространство имен System.Xml или using (Visual C#).
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);