Метод Lists.GetListItemChanges
Возвращает изменения, внесенные в список, начиная с указанной даты и времени.
Пространство имен: WebSvcLists
Сборка: STSSOAP (в STSSOAP.dll)
Синтаксис
'Декларация
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/GetListItemChanges", RequestNamespace := "https://schemas.microsoft.com/sharepoint/soap/", _
ResponseNamespace := "https://schemas.microsoft.com/sharepoint/soap/", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function GetListItemChanges ( _
listName As String, _
viewFields As XmlNode, _
since As String, _
contains As XmlNode _
) As XmlNode
'Применение
Dim instance As Lists
Dim listName As String
Dim viewFields As XmlNode
Dim since As String
Dim contains As XmlNode
Dim returnValue As XmlNode
returnValue = instance.GetListItemChanges(listName, _
viewFields, since, contains)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/GetListItemChanges", RequestNamespace = "https://schemas.microsoft.com/sharepoint/soap/",
ResponseNamespace = "https://schemas.microsoft.com/sharepoint/soap/",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public XmlNode GetListItemChanges(
string listName,
XmlNode viewFields,
string since,
XmlNode contains
)
Параметры
listName
Тип: System.StringСтрока, содержащая название или идентификатор GUID для списка. При выполнении запроса в таблице UserInfo, строка содержит «Данные_пользователя».
viewFields
Тип: System.Xml.XmlNodeЭлемент ViewFields , которое указывает, какие поля для возврата в запросе и в каком порядке и могут быть назначены System.Xml.XmlNode объекта, как показано в следующем примере.
since
Тип: System.StringСтрока, содержащая дату и время в формате ISO8601 по Гринвичу (UTC), с которого необходимо начать получение изменений в списке. Значение этого параметра обычно извлекается из предыдущего ответа SOAP. Если это значение является пустая ссылка (Nothing в Visual Basic), запрос возвращает все элементы в списке.
contains
Тип: System.Xml.XmlNodeЭлемент Contains , который определяет настраиваемую фильтрацию для запроса и могут быть назначены System.Xml.XmlNode объекта, как показано в следующем примере.
Возвращаемое значение
Тип: System.Xml.XmlNode
Фрагмент XML в следующей форме, которая содержит изменения, и, который можно назначить объект System.Xml.XmlNode :
<listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema"
TimeStamp="2007-03-23T22:23:18Z"
xmlns="https://schemas.microsoft.com/sharepoint/soap/">
<rs:data ItemCount="2">
<z:row ows_Attachments="0"
ows_LinkTitle="Title1"
ows_Modified="2007-03-08T23:01:48Z"
ows_MetaInfo="24;#"
ows__ModerationStatus="0"
ows__Level="1"
ows_Title="Title1"
ows_ID="24"
ows_owshiddenversion="1"
ows_UniqueId="24;#{1C6F4446-9D98-49F5-9A1C-17B0FDEA8558}"
ows_FSObjType="24;#0"
ows_Created_x0020_Date="24;#2007-03-08T23:01:48Z"
ows_Created="2007-03-08T23:01:48Z"
ows_FileLeafRef="24;#24_.000"
ows_FileRef="24;#Lists/Announcements/24_.000" />
<z:row ows_Attachments="0"
ows_LinkTitle="Title2"
ows_Modified="2007-03-23T22:24:40Z"
ows_MetaInfo="27;#"
ows__ModerationStatus="0"
ows__Level="1"
ows_Title="Title2"
ows_ID="27"
ows_owshiddenversion="1"
ows_UniqueId="27;#{D589D857-391B-43BD-A1E9-2C36D718BB82}"
ows_FSObjType="27;#0"
ows_Created_x0020_Date="27;#2007-03-23T22:24:40Z"
ows_Created="2007-03-23T22:24:40Z"
ows_FileLeafRef="27;#27_.000"
ows_FileRef="27;#Lists/Announcements/27_.000" />
...
</rs:data>
</listitems>
Примеры
В следующем примере кода отображаются сведения об элементах в списке, которые были изменены после определенной даты. В примере используется объект 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 xmlDoc = New System.Xml.XmlDocument()
Dim ndViewFields As XmlNode =
xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "")
Dim ndContains As XmlNode =
xmlDoc.CreateNode(XmlNodeType.Element, "Contains", "")
ndViewFields.InnerXml = "<FieldRef Name='Field1'/>" + _
"<FieldRef Name='Field2'/><FieldRef Name='Field3' />"
ndContains.InnerXml = "<FieldRef Name='Field'/>" + _
"<Value Type='Number'>Number</Value>"
Try
Dim ndListChanges As XmlNode =
listService.GetListItemChanges("List_Name", _
ndViewFields, "2003-06-18T00:00:00Z", ndContains)
MessageBox.Show(ndListChanges.OuterXml)
Catch ex As System.Web.Services.Protocols.SoapException
MessageBox.Show("Message:" + ControlChars.Lf + ex.Message +
ControlChars.Lf + _
"Detail:" + ControlChars.Lf + ex.Detail.InnerText +
ControlChars.Lf + _
"StackTrace:" + ControlChars.Lf + ex.StackTrace)
End Try
Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
listService.Credentials= System.Net.CredentialCache.DefaultCredentials;
XmlDocument xmlDoc = new System.Xml.XmlDocument();
XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element,"ViewFields","");
XmlNode ndContains = xmlDoc.CreateNode(XmlNodeType.Element,"Contains","");
ndViewFields.InnerXml = "<FieldRef Name='Field1'/>" +
"<FieldRef Name='Field2'/><FieldRef Name='Field3' />";
ndContains.InnerXml = "<FieldRef Name='Field'/>" +
"<Value Type='Number'>Number</Value>";
try
{
XmlNode ndListChanges = listService.GetListItemChanges("List_Name",
ndViewFields, "2003-06-18T00:00:00Z", ndContains);
MessageBox.Show(ndListChanges.OuterXml);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
MessageBox.Show("Message:\n" + ex.Message + "\nDetail:\n" +
ex.Detail.InnerText +
"\nStackTrace:\n" + ex.StackTrace);
}