Lists.GetListItems method
Retorna informações sobre os itens na lista com base na consulta especificada.
Namespace: WebSvcLists
Assembly: STSSOAP (in STSSOAP.dll)
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)> _
Public Function GetListItems ( _
listName As String, _
viewName As String, _
query As XmlNode, _
viewFields As XmlNode, _
rowLimit As String, _
queryOptions As XmlNode, _
webID As String _
) As XmlNode
'Uso
Dim instance As Lists
Dim listName As String
Dim viewName As String
Dim query As XmlNode
Dim viewFields As XmlNode
Dim rowLimit As String
Dim queryOptions As XmlNode
Dim webID As String
Dim returnValue As XmlNode
returnValue = 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)]
public XmlNode GetListItems(
string listName,
string viewName,
XmlNode query,
XmlNode viewFields,
string rowLimit,
XmlNode queryOptions,
string webID
)
Parâmetros
listName
Type: System.StringUma cadeia de caracteres que contém o nome para exibição ou o GUID da lista. É recomendável que você use o GUID, que deve ser circundado por chaves ({}). Ao consultar a tabela UserInfo, a cadeia de caracteres contém "UserInfo".
viewName
Type: System.StringUma cadeia de caracteres que contém a GUID do modo de exibição envolvida por chaves ({}), que determina o modo de exibição a ser usado para os atributos de exibição padrão representados pelos parâmetros query, viewFieldse rowLimit . Se este parâmetro contém uma cadeia de caracteres vazia, o modo de exibição padrão será usado. Se o GUID do modo de exibição for fornecido, o valor do parâmetro query, viewFieldsou rowLimit sobrescreve a configuração equivalente do modo de exibição. Por exemplo, se o modo de exibição especificado pelo parâmetro viewFields tem um limite de linha de 100 linhas, mas o parâmetro rowLimit contém 1000, 1.000 linhas são retornadas na resposta.
query
Type: System.Xml.XmlNodeUm elemento de consulta que contém a consulta que determina quais registros são retornados e em qual ordem e que podem ser atribuídos a um objeto System.Xml.XmlNode , como no exemplo a seguir.
viewFields
Type: System.Xml.XmlNodeUm elemento ViewFields , que especifica quais campos para retornar na consulta e em qual ordem, e que podem ser atribuídas a um objeto System.Xml.XmlNode , como no exemplo a seguir.
rowLimit
Type: System.StringUma string que especifica o número de itens, ou linhas, para exibir em uma página antes do início da paginação. Se fornecido, o valor desse parâmetro substitui o limite de linha definido na exibição especificado pelo parâmetro viewName ou o limite de linha definido no modo de exibição padrão na lista.
queryOptions
Type: System.Xml.XmlNodeUm fragmento XML no seguinte formato que contém nós separados para as várias propriedades do objeto SPQuery e que podem ser atribuídas a um objeto System.Xml.XmlNode .
webID
Type: System.StringOpcional. Uma cadeia de caracteres que contém o GUID do site pai para a lista envolvida por chaves ({}). A definição deste parâmetro como a null reference (Nothing in Visual Basic) significa o site especificado pelo Url propriedade do serviço será usada, e se a propriedade Url do serviço não for especificada, será usada a site raiz.
Valor retornado
Type: System.Xml.XmlNode
Um fragmento XML no seguinte formato que contém informações sobre os itens de lista e que podem ser atribuídas 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>
Comentários
O método GetListItems suporta paginação de servidor. Os dados XML retornados por esse método incluem um atributo ListItemCollectionPositionNext dentro do elemento rs:Data que contém as informações para suportar a paginação. Esta cadeia de caracteres contém dados para os campos na lista Classificar e outros itens necessários para a paginação. Você deve considerar essa cadeia de caracteres interno e não a ser modificado; Modificar ele pode gerar resultados inesperados. O exemplo a seguir mostra o formulário desse valor de retorno quando há suporte para a paginação.
<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>
Para obter a próxima página de dados, o parâmetro queryOption é usado, conforme mostrado no exemplo a seguir.
<QueryOptions>
<Paging ListItemCollectionPositionNext="
Paged=TRUE&p_ID=100&View=
%7bC68F4A6A%2d9AFD%2d406C%2dB624%2d2CF8D729901E%7d&PageFirstRow=
101" />
</QueryOptions>
Examples
O exemplo de código a seguir exibe os itens em que um campo Number contém um valor maior do que 5.000 e um campo DateTime contém um valor maior do que uma data especificada. O exemplo usa um objeto XmlDocument para criar objetos XmlNode para os parâmetros.
Este exemplo exige que um using (Visual c#) ou a ser incluído no espaço para nome System.Xml de diretiva de Imports (Visual Basic).
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);
}