Поделиться через


Метод Lists.GetListItems

Возвращает сведения об элементах в списка по указанному запросу.

Пространство имен:  WebSvcLists
Сборка:  STSSOAP (в STSSOAP.dll)

Синтаксис

'Декларация
<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
'Применение
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
    Тип: System.String

    Строка, содержащая отображаемое имя или идентификатор GUID для списка. Рекомендуется использовать идентификатор GUID, который должны быть заключены в фигурные скобки ({}). При выполнении запроса в таблице UserInfo, строка содержит «Данные_пользователя».

  • viewName
    Тип: System.String

    Строка, содержащая GUID для представления, заключенные в фигурные скобки ({}), определяющий представление для атрибутов представление по умолчанию, представленные с помощью параметров query, viewFieldsи rowLimit . Если этот параметр содержит пустая строка, представление по умолчанию используется. Если предоставлен идентификатор GUID представления, значение параметра query, viewFieldsили rowLimit переопределяет эквивалентный параметр в представлении. Например если представления, указанного с помощью параметра viewFields которого настроено ограничение строк 100 строк, но параметр rowLimit содержит 1000, 1000 строк возвращаются в ответе.

  • query
    Тип: System.Xml.XmlNode

    Элемент Query , содержащий запрос, который определяет, какие записи возвращаемые и в какой порядке, который можно назначить объект System.Xml.XmlNode , как показано в следующем примере.

  • viewFields
    Тип: System.Xml.XmlNode

    Элемент ViewFields , которое указывает, какие поля для возврата в запросе и в каком порядке и могут быть назначены System.Xml.XmlNode объекта, как показано в следующем примере.

  • rowLimit
    Тип: System.String

    Строка, которая указывает количество элементов или строк для отображения на странице перед началом разбиение на страницы. Если задан, этот параметр переопределяет ограничение строк в представлении, указанного с помощью параметра viewName или строку предел, установленный в представление по умолчанию для списка.

  • queryOptions
    Тип: System.Xml.XmlNode

    Фрагмент XML в следующей форме, которая содержит отдельные узлы для различных свойств объекта SPQuery , который может быть назначен в объект System.Xml.XmlNode .

  • webID
    Тип: System.String

    Необязательный атрибут. Строка, содержащая GUID родительского веб-сайта для списка, заключенные в фигурные скобки ({}). Этому параметру означает, что пустая ссылка (Nothing в Visual Basic) веб-сайта, указанного идентификатором Url свойства службы будет использоваться, и если свойство Url службы не указан, будут использоваться корневого веб-сайта.

Возвращаемое значение

Тип: System.Xml.XmlNode
Фрагмент XML в следующей форме, которая содержит сведения об элементах списка и может быть назначены объект 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>

Замечания

Метод GetListItems поддерживает разбиение на страницы на сервере. XML-данные, возвращаемые данным методом включает атрибут ListItemCollectionPositionNextrs:Data элемент, который содержит данные для поддержки разбивки по страницам. Эта строка содержит данные для полей в списке Сортировать и для других элементов, необходимых для разбивки по страницам. Эта строка необходимо учитывать внутренних и не изменять; Изменение он может привести к непредсказуемым последствиям. В следующем примере показано формы это возвращаемое значение, если поддерживается разбиение на страницы.

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

Для получения следующей страницы данных, используется параметр queryOption , как показано в следующем примере.

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

Примеры

В следующем примере кода отображаются элементы, где поле Number содержит значение больше 5 000, а поле DateTime содержит значение больше указанной даты. В примере используется объект XmlDocument для создания объектов XmlNode для параметров.

В этом примере требуется директива Imports (Visual Basic) была включена в пространство имен System.Xml или using (Visual C#).

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

См. также

Справочные материалы

Lists класс

Элементы Lists

Пространство имен WebSvcLists