Leer en inglés

Compartir a través de


del método Lists.GetListItems

Devuelve información sobre los elementos de la lista en función de la consulta especificada.

Espacio de nombres:  WebSvcLists
Ensamblado:  STSSOAP (en STSSOAP.dll)

Sintaxis

'Declaración
<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
    Tipo: System.String

    Una cadena que contiene el nombre para mostrar o el GUID de la lista. Se recomienda que utilice el GUID, que debe estar encerrado entre llaves ({}). Al consultar la tabla UserInfo, la cadena contiene "UserInfo".

  • viewName
    Tipo: System.String

    Una cadena que contiene el GUID de la vista entre llaves ({}), que determina la vista que se va a usar para los atributos de vista predeterminada representados por los parámetros query, viewFieldsy rowLimit . Si este parámetro contiene una cadena vacía, se usa la vista predeterminada. Si se proporciona el GUID de la vista, el valor del parámetro query, viewFieldso rowLimit anula el valor equivalente dentro de la vista. Por ejemplo, si la vista especificada por el parámetro viewFields tiene un límite de fila de 100 filas, pero el parámetro rowLimit contiene 1000, 1000 filas se devuelven en la respuesta.

  • query
    Tipo: System.Xml.XmlNode

    Un elemento de consulta que contiene la consulta que determina qué registros se devuelto y en qué orden y que se pueden asignar a un objeto System.Xml.XmlNode , como se muestra en el siguiente ejemplo.

  • viewFields
    Tipo: System.Xml.XmlNode

    Un elemento ViewFields que especifica los campos que se va a devolver en la consulta y en qué orden, y que se pueden asignar a un objeto System.Xml.XmlNode , como se muestra en el siguiente ejemplo.

  • rowLimit
    Tipo: System.String

    Una cadena que especifica el número de elementos o las filas para mostrar en una página antes de que comience la paginación. Si se proporciona, el valor de este parámetro reemplaza el límite de fila establecido en la vista especificada por el parámetro viewName o el límite de fila establecido en la vista predeterminada de la lista.

  • queryOptions
    Tipo: System.Xml.XmlNode

    Un fragmento de XML con el formato siguiente que contiene nodos independientes de las diversas propiedades del objeto SPQuery , y que se pueden asignar a un objeto System.Xml.XmlNode .

  • webID
    Tipo: System.String

    Opcional. Una cadena que contiene el GUID del sitio Web primario de la lista entre llaves ({}). Si se establece este parámetro en una referencia null (Nothing en Visual Basic) medio del sitio Web especificado por el Url se usará la propiedad del servicio, y si la propiedad Url del servicio no se especifica, se usará el sitio Web raíz.

Valor devuelto

Tipo: System.Xml.XmlNode
Un fragmento de XML con el formato siguiente que contiene información sobre los elementos de lista y que se pueden asignar a un 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>

Comentarios

El método GetListItems admite la paginación del lado servidor. Los datos XML devueltos por este método incluyen un atributo ListItemCollectionPositionNext dentro del elemento rs:Data que contiene la información para admitir la paginación. Esta cadena contiene datos para los campos de la ordenación y otros elementos necesarios para la paginación. Se debe tener en cuenta esta cadena interno y no modificarse; modificación puede producir resultados inesperados. El ejemplo siguiente muestra el formulario de este valor devuelto cuando se admite la paginación.

<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 obtener la siguiente página de datos, se usa el parámetro queryOption , como se muestra en el ejemplo siguiente.

<QueryOptions>
  <Paging ListItemCollectionPositionNext=" 
    Paged=TRUE&p_ID=100&View=
    %7bC68F4A6A%2d9AFD%2d406C%2dB624%2d2CF8D729901E%7d&PageFirstRow=
   101" />
</QueryOptions>

Ejemplos

En el ejemplo de código siguiente se muestra los elementos en un campo Number contiene un valor mayor que 5.000 y un campo DateTime contiene un valor mayor que una fecha especificada. En el ejemplo se utiliza un objeto XmlDocument para crear objetos de XmlNode para los parámetros.

En este ejemplo se requiere que un using (Visual C#) o la directiva de Imports (Visual Basic) que se incluirán para el espacio de nombres 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);
}

Vea también

Referencia

clase Lists

Miembros Lists

Espacio de nombres WebSvcLists