Lists.GetListItems Method
Retorna informações sobre os itens na lista com base na consulta especificada.
Web Service: ListsWeb Reference: http://<Site>/_vti_bin/Lists.asmx
Syntax
'Declaração
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/GetListItems", RequestNamespace:="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace:="https://schemas.microsoft.com/sharepoint/soap/", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Wrapped)> _
PublicFunctionGetListItems ( _
listNameAsString, _
viewNameAsString, _
queryAsXmlNode, _
viewFieldsAsXmlNode, _
rowLimitAsString, _
queryOptionsAsXmlNode, _
webIDAsString _
) AsXmlNode
'Uso
DiminstanceAsListsDimlistNameAsStringDimviewNameAsStringDimqueryAsXmlNodeDimviewFieldsAsXmlNodeDimrowLimitAsStringDimqueryOptionsAsXmlNodeDimwebIDAsStringDimreturnValueAsXmlNodereturnValue = instance.GetListItems(listName, viewName, query, viewFields, rowLimit, queryOptions, webID)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/GetListItems", RequestNamespace="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="https://schemas.microsoft.com/sharepoint/soap/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
publicXmlNodeGetListItems (
stringlistName,
stringviewName,
XmlNodequery,
XmlNodeviewFields,
stringrowLimit,
XmlNodequeryOptions,
stringwebID
)
Parameters
- listName
Uma seqüência de caracteres que contém a nome para exibição ou o GUID para a lista. É recomendável que você usar o GUID, que deve ficar entre chaves ( {}). Ao consultar a tabela UserInfo, a seqüência de caracteres contém "UserInfo".
- viewName
Uma seqüência de caracteres que contém o GUID para o modo de exibição circundado por chaves ( {}), que determina o modo de exibição para usar para os atributos do modo de exibição padrão representado por consulta , , viewFields e rowLimit parâmetros. Se este parâmetro contém uma seqüência de caracteres vazia, o modo de exibição padrão será usado. Se o modo de exibição GUID é fornecido, o valor da consulta , , viewFields ou rowLimit parâmetro substitui a configuração equivalente no modo de exibição. Por exemplo, se o modo especificado pelo parâmetro de viewFields tem um limite de linha de 100 linhas, mas o parâmetro rowLimit contém 1000, em seguida, 1.000 linhas são retornadas na resposta.
query
Um elemento Q uery que contém a consulta que determina quais registros são retornados em que ordem e que podem ser atribuídos a um objeto System.Xml.XmlNode,as in o exemplo a seguir.<Query> <Where> <Lt> <FieldRef Name="ID" /> <Value Type="Counter">3</Value> </Lt> </Where> </Query>
Se fornecido, o valor desse parâmetro substitui a consulta no modo de exibição especificado pelo parâmetro de v iewName ou a consulta no modo de exibição padrão para a lista.
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.XmlNode,as in o exemplo a seguir.<ViewFields> <FieldRef Name="ID" /> <FieldRef Name="Title" /> </ViewFields>
Se fornecido, o valor desse parâmetro substitui os modo de exibição campos dentro modo especificado pelo parâmetro viewName ou os modo de exibição campos no modo de exibição para a lista padrão.
- rowLimit
Uma seqüência de caracteres que especifica o número de itens, ou linhas, para exibir em uma página antes de paginação começa. Se fornecido, o valor desse parâmetro substitui o linha limite definido no modo especificado pelo parâmetro de viewName ou o limite de linha definido no modo de exibição para a lista padrão.
queryOptions
Um fragmento XML in a forma a seguir que contém nós separados para as várias propriedades do objeto SPQuery, e que pode ser atribuída a um objeto System.Xml.XmlNode.<QueryOptions> <IncludeMandatoryColumns>FALSE </IncludeMandatoryColumns> <DateInUtc>TRUE</DateInUtc> </QueryOptions>
A tabela a seguir mostra os elementos que podem ser usados no fragmento de colaboração aplicativos Markup Language (CAML) pelos quais passou até o parâmetro queryOptions .
Elemento
Descrição
DateInUtc
TRUE Para retornar as datas no formato Tempo Universal Coordenado (UTC). FALSE Para retornar as datas no formato ISO. Esse elemento é opcional, e o valor padrão é TRUE.
Folder
Especifica um URL usado para filtrar itens Biblioteca de Documentos de itens na pasta especificada. Esse elemento é opcional, e o valor padrão é uma seqüência vazia.
Paging
Uma seqüência de caracteres que contém os dados necessários para oferecer suporte à paginação, incluindo um atributo ListItemCollectionPositionNext.Se deixado vazio, os itens da lista retornada início desde o início da lista. Aplicativos cliente devem fornecer o valor de um indicador Server-supplied. O servidor retorna a próxima página de dados com base no indicador fornecido. Esse elemento é opcional, e o valor padrão é uma seqüência vazia.
IncludeMandatoryColumns
TRUE Para especificar que colunas Obrigatório do sistema ser retornado junto com os campos especificados, o parâmetro viewFields (por exemplo, owsHiddenVersion,Campos Dependentes e campos obrigatórios). Esse elemento é opcional, e o valor padrão é TRUE.
MeetingInstanceID
Um valor inteiro onde um número positivo representa uma instância específica de reunião. Números negativos têm os seguintes significados: - 3 = UnSpecified, -2 = AllWithSeries, -1 = AllButSeries, 0 = Series.Esse elemento é opcional, e o valor padrão é -1.Valores negativos correspondem aos valores de enumeração de Microsoft.SharePoint.Meetings.SPMeeting.SpecialInstance.
ViewAttributes
Uma seqüência de caracteres que representa todos os atributos retornados como parte do elemento View ao recuperar um modo de exibição por meio de GetView método. Esse elemento é opcional, e seu valor padrão está vazia. Se um parâmetro viewName for fornecido, os atributos do modo de exibição do modo de exibição persistente são usados. Quando esse argumento for fornecido, ele substitui quaisquer atributos do modo de exibição que podem ser recuperados do modo persistente especificado pelo parâmetro de viewName . Esse elemento é opcional e o valor padrão é uma seqüência de caracteres vazia. Para retornar todos os documentos em uma biblioteca, o ViewAttributes elemento é usado da seguinte maneira:
<ViewAttributes Scope="Recursive" />
.Para passar um valor vazio para esse parâmetro, inclua um elemento QueryOptions vazio da seguinte maneira.
<queryOptions xmlns:SOAPSDK9= "https://schemas.microsoft.com/sharepoint/soap/" > <QueryOptions/> </queryOptions>
- webID
Opcional. Uma seqüência de caracteres que contém o GUID do site pai Web para a lista circundado por chaves ( {}). Definir esse parâmetro como null significa que o site Web especificado, a propriedade Url do serviço será usado, e se a propriedade Url do serviço não for especificada, será usada a raiz do site Web.
Return Value
Um fragmento XML na forma a seguir que contém informações sobre os itens da lista 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"
xmlns="https://schemas.microsoft.com/sharepoint/soap/">
<rs:data ItemCount="4">
<z:row ows_Number_Field="6555.00000000000"
ows_Created="2003-06-18T03:41:09Z"
ows_ID="3" ows_owshiddenversion="3" />
<z:row ows_Number_Field="78905456.0000000"
ows_Created="2003-06-18T17:15:58Z"
ows_ID="4" ows_owshiddenversion="2" />
...
</rs:data>
</listitems>
Remarks
O método GetListItems oferece suporte à paginação do lado do servidor. XML os dados retornados por este método incluem um atributo ListItemCollectionPositionNext dentro do elemento rs:Data que contém as informações para oferecer suporte à paginação. Essa seqüência de caracteres contém dados para os campos de classificação e outros itens necessários para paginação. Você deve considerar essa seqüência de caracteres interna e não deve para ser modificado; modificando-pode produzir resultados inesperados. O exemplo a seguir mostra a forma deste valor de retorno quando paginação é suportada.
<rs:Data ListItemCollectionPositionNext="
Paged=TRUE&p_ID=100&View=
%7bC68F4A6A%2d9AFD%2d406C%2dB624%2d2CF8D729901E%7d&PageFirstRow=
101" Count=1000 >
<z:row ows_FirstName="Nancy" ows_LastName="Name" ….. />
...
</rs:Data>
A get a próxima página de dados, o parâmetro queryOption é usada, conforme mostrado no exemplo o seguir.
<QueryOptions>
<Paging ListItemCollectionPositionNext="
Paged=TRUE&p_ID=100&View=
%7bC68F4A6A%2d9AFD%2d406C%2dB624%2d2CF8D729901E%7d&PageFirstRow=
101" />
</QueryOptions>
Example
O exemplo de código a seguir exibe itens onde um Number campo contém um valor maior que 5.000 e um DateTime campo contém um valor maior do que 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 ndQuery As XmlNode =
xmlDoc.CreateNode(XmlNodeType.Element, "Query", "")
Dim ndViewFields As XmlNode =
xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "")
Dim ndQueryOptions As XmlNode =
xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "")
ndQueryOptions.InnerXml =
"<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" + _
"<DateInUtc>TRUE</DateInUtc>"
ndViewFields.InnerXml =
"<FieldRef Name='Field1'/><FieldRef Name='Field2'/>"
ndQuery.InnerXml =
"<Where><And><Gt><FieldRef Name='Field1'/>" + _
"<Value Type='Number'>5000</Value></Gt><Gt>
<FieldRef Name='Field2'/>" + _
"<Value Type='DateTime'>2003-07-03T00:00:00</Value></Gt></And></Where>"
Try
Dim ndListItems As XmlNode =
listService.GetListItems("List_Name", Nothing, ndQuery, _
ndViewFields, Nothing, ndQueryOptions, Nothing)
MessageBox.Show(ndListItems.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 ndQuery = xmlDoc.CreateNode(XmlNodeType.Element,"Query","");
XmlNode ndViewFields =
xmlDoc.CreateNode(XmlNodeType.Element,"ViewFields","");
XmlNode ndQueryOptions =
xmlDoc.CreateNode(XmlNodeType.Element,"QueryOptions","");
ndQueryOptions.InnerXml =
"<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" +
"<DateInUtc>TRUE</DateInUtc>";
ndViewFields.InnerXml = "<FieldRef Name='Field1' />
<FieldRef Name='Field2'/>";
ndQuery.InnerXml = "<Where><And><Gt><FieldRef Name='Field1'/>" +
"<Value Type='Number'>5000</Value></Gt><Gt><FieldRef Name='Field2'/>" +
"<Value Type=
'DateTime'>2003-07-03T00:00:00</Value></Gt></And></Where>";
try
{
XmlNode ndListItems =
listService.GetListItems("List_Name", null, ndQuery,
ndViewFields, null, ndQueryOptions, null);
MessageBox.Show(ndListItems.OuterXml);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
MessageBox.Show("Message:\n" + ex.Message + "\nDetail:\n" +
ex.Detail.InnerText +
"\nStackTrace:\n" + ex.StackTrace);
}