Lists.GetListItemChanges Method
Retorna as alterações feitas a lista desde a data e hora especificadas.
Web Service: ListsWeb Reference: http://<Site>/_vti_bin/Lists.asmx
Syntax
'Declaração
<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)> _
PublicFunctionGetListItemChanges ( _
listNameAsString, _
viewFieldsAsXmlNode, _
sinceAsString, _
containsAsXmlNode _
) AsXmlNode
'Uso
DiminstanceAsListsDimlistNameAsStringDimviewFieldsAsXmlNodeDimsinceAsStringDimcontainsAsXmlNodeDimreturnValueAsXmlNodereturnValue = 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)]
publicXmlNodeGetListItemChanges (
stringlistName,
XmlNodeviewFields,
stringsince,
XmlNodecontains
)
Parameters
- listName
Uma seqüência de caracteres que contém o título ou GUID para a lista. Ao consultar a tabela UserInfo, a seqüência de caracteres contém "UserInfo".
viewFields
Um elemento ViewFields que especifica quais campos retornam na consulta e em que ordem, e que pode ser atribuída a um objeto System.Xml.XmlNodeViewFields,as in o exemplo a seguir.<ViewFields><FieldRef Name="ID" /> <FieldRef Name="Title" /></ViewFields>
- since
Uma seqüência de caracteres que contém a data e hora no formato ISO8601 Tempo Universal Coordenado (UTC) a partir do qual iniciar Recuperando alterações na lista. O valor desse parâmetro geralmente é recuperado de uma resposta SOAP anterior. Se esse valor for null,a consulta retorna todos os itens na lista.
contains
Um elemento Contains que define filtro personalizado para a consulta e que pode ser atribuída a um objeto System.Xml.XmlNodeContains,as in o exemplo a seguir.<Contains> <FieldRef Name="Status"/> <Value Type="Text">Complete</Value> </Contains>
Este parâmetro pode conter null.
Return Value
Um fragmento XML na forma a seguir que contém as alterações e que pode ser atribuída a um objeto 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>
Example
O exemplo de código a seguir exibe informações sobre os itens em uma lista que foram alterados após uma data especificada. 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 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);
}