Поделиться через


Метод 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);
}

См. также

Справочные материалы

Lists класс

Элементы Lists

Пространство имен WebSvcLists