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)
'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
)
listName
Tipo: System.StringUna 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.StringUna 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.XmlNodeUn 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.XmlNodeUn 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.StringUna 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.XmlNodeUn 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.StringOpcional. 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.
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>
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>
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);
}