Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Lists.GetListItems - Méthode

Retourne des informations sur les éléments dans la liste en fonction de la requête spécifiée.

Espace de noms :  WebSvcLists
Assembly :  STSSOAP (dans STSSOAP.dll)

[SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/GetListItems", RequestNamespace = "http://schemas.microsoft.com/sharepoint/soap/", 
	ResponseNamespace = "http://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
)

Paramètres

listName
Type : System.String

Chaîne qui contient le nom complet ou le GUID de la liste. Il est recommandé d'utiliser le GUID, qui doit être entouré d'accolades ({}). Lors de l'interrogation de la table UserInfo, la chaîne contient « UserInfo ».

viewName
Type : System.String

Chaîne qui contient le GUID de la vue délimitée par des accolades ({}), ce qui détermine l'affichage à utiliser pour les attributs d'affichage par défaut représentés par les paramètres query, viewFieldset rowLimit . Si ce paramètre contient une chaîne vide, la vue par défaut est utilisée. Si le GUID de la vue est fourni, la valeur du paramètre query, viewFieldsou rowLimit remplace le paramètre équivalent au sein de l'affichage. Par exemple, si l'affichage spécifié par le paramètre viewFields a une limite de ligne de 100 lignes, mais le paramètre rowLimit contient 1000, 1 000 lignes sont retournées dans la réponse.

query
Type : System.Xml.XmlNode

Un élément de requête contenant la requête qui détermine quels enregistrements sont renvoyés et dans quel ordre et qui peuvent être affectés à un objet System.Xml.XmlNode , comme dans l'exemple suivant.

viewFields
Type : System.Xml.XmlNode

Un élément ViewFields qui spécifie les champs à renvoyer dans la requête et dans quel ordre, et qui peut être affecté à un objet System.Xml.XmlNode , comme dans l'exemple suivant.

rowLimit
Type : System.String

Chaîne qui spécifie le nombre d'éléments ou des lignes, à afficher sur une page avant le début de la pagination. Si fourni, la valeur de ce paramètre remplace la limite de ligne définie dans l'affichage spécifié par le paramètre viewName ou la limite de ligne définie dans la vue par défaut pour la liste.

queryOptions
Type : System.Xml.XmlNode

Fragment XML sous la forme suivante, qui contient des nœuds distincts pour les différentes propriétés de l'objet SPQuery , et qui peuvent être affectés à un objet System.Xml.XmlNode .

webID
Type : System.String

Facultatif. Chaîne contenant le GUID du site Web parent pour la liste délimitée par des accolades ({}). Ce paramètre signifie que une référence Null (Rien dans Visual Basic) le site Web spécifié par le Url propriété du service sera utilisée, et si la propriété Url du service n'est pas spécifiée, la site Web racine sera utilisée.

Valeur renvoyée

Type : System.Xml.XmlNode
Fragment XML sous la forme suivante, qui contient des informations sur les éléments de liste et qui peut être affecté à un objet 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="http://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>

La méthode GetListItems prend en charge la pagination côté serveur. Les données XML renvoyées par cette méthode incluent un attribut ListItemCollectionPositionNext à l'intérieur de l'élément rs:Data qui contient les informations pour prendre en charge la pagination. Cette chaîne contient des données pour les champs dans l'ordre de tri et d'autres éléments nécessaires pour la pagination. Vous devez prendre en compte cette chaîne interne et de ne pas être modifiées ; sa modification peut produire des résultats inattendus. L'exemple suivant montre le formulaire de cette valeur de retour lors de la pagination est prise en charge.

<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>

Pour obtenir la page suivante de données, le paramètre queryOption est utilisé, comme illustré dans l'exemple suivant.

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

L'exemple de code suivant affiche les éléments où un champ Number contient une valeur supérieure à 5 000 et un champ DateTime contient une valeur supérieure à une date spécifiée. L'exemple utilise un objet XmlDocument pour créer des objets XmlNode pour les paramètres.

Cet exemple suppose qu'une directive de Imports (Visual Basic) soit incluse pour l'espace de noms System.Xml ou de using (Visual c#).

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);
}
Afficher: