次の方法で共有


Lists.GetListItems メソッド (websvcLists)

指定したクエリに基づいて、リスト内のアイテムに関する情報を返します。

名前空間: 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
    リストの表示名または GUID のどちらかを含む文字列。GUID の使用をお勧めします。GUID を使用するときは、波かっこ ({}) で囲む必要があります。UserInfo テーブルに対してクエリを実行する場合、文字列に "UserInfo" を含めます。
  • viewName
    ビューの GUID を含む文字列 (波かっこ ({}) で囲みます)。この GUID に基づいて、queryviewFields、および rowLimit パラメータで表される既定のビュー属性に対して使用するビューを判別します。viewName パラメータが空の文字列を含んでいる場合は、既定のビューが使用されます。ビューの GUID が提供される場合は、queryviewFields、および rowLimit パラメータの値が、ビューに指定されている同等の設定よりも優先されます。たとえば、viewFields パラメータで指定されたビューに、最大行数は 100 行までという制限があるとき、rowLimit パラメータの値が 1000 であると、応答では 1,000 行が返されます。
  • query
    次の例に示すように、返されるレコードとその順序を決定するクエリを含む Query 要素。この要素は System.Xml.XmlNode オブジェクトに割り当てることができます。

    <Query>
       <Where>
          <Lt>
             <FieldRef Name="ID" />
             <Value Type="Counter">3</Value>
          </Lt>
       </Where>
    </Query>
    

    指定した場合、このパラメータの値は viewName パラメータで指定したビュー内のクエリ、またはリストの既定のビュー内のクエリのどちらかを上書きします。

  • viewFields
    次の例に示すように、クエリで返されるフィールドとその順序を指定する ViewFields 要素。この要素は System.Xml.XmlNode オブジェクトに割り当てることができます。

    <ViewFields>
       <FieldRef Name="ID" />
       <FieldRef Name="Title" />
    </ViewFields>
    

    指定した場合、このパラメータの値は、viewName パラメータによって指定されたビュー内のビュー フィールド、またはリストに対する既定のビュー内のビュー フィールドよりも優先されます。

  • rowLimit
    ページングが開始される前にページ上に表示するアイテム数または行を指定する文字列。指定した場合、このパラメータの値は viewName パラメータで指定したビュー内で設定された行数の制限、またはリストの既定のビュー内で設定された行数の制限を上書きします。
  • queryOptions
    XML フラグメント。SPQuery オブジェクトのさまざまなプロパティに対して個別のノードを含み、System.Xml.XmlNode オブジェクトに割り当てることができる次の形式を持ちます。

    <QueryOptions>
       <IncludeMandatoryColumns>FALSE
          </IncludeMandatoryColumns>
       <DateInUtc>TRUE</DateInUtc>
    </QueryOptions>
    

    次の表に、queryOptions パラメータを介して渡される CAML (Collaborative Application Markup Language) フラグメントで使用することができる要素を示します。

    要素

    説明

    DateInUtc

    世界協定時刻 (UTC) 形式で日付を返す場合は TRUE、ISO 形式で日付を返す場合は FALSE。この要素は省略できます。既定値は TRUE です。

    Folder

    指定したフォルダ内のアイテムに対してドキュメント ライブラリ アイテムをフィルタ処理するために使用される URL を指定します。この要素は省略できます。既定値は空の文字列です。

    Paging

    ページングをサポートする場合に必要となるデータを含む文字列 (ListItemCollectionPositionNext 属性など)。この要素が空のままである場合、返されるリスト アイテムは、リストの先頭から始まるアイテムになります。クライアント アプリケーションは、サーバーが提供するブックマークの値を渡す必要があります。サーバーは、渡されたブックマークに基づいて、データの次のページを返します。この要素は省略できます。既定値は空の文字列です。

    IncludeMandatoryColumns

    viewFields パラメータで指定されるフィールド (owsHiddenVersion、依存フィールド、必須フィールド) に加えて、必須のシステム列が返されることを指定する場合は TRUE。既定値は TRUE です。

    MeetingInstanceID

    整数値。正の数は個別の会議インスタンスを表します。負の数は次の意味を持ちます - 3 = UnSpecified-2 = AllWithSeries-1 = AllButSeries0 = Series。この要素は省略できます。既定値は -1 です。負の値は Microsoft.SharePoint.Meetings.SPMeeting.SpecialInstance 列挙体の値に対応します。

    ViewAttributes

    GetView メソッドを使用してビューを取得するときに、View 要素の一部として返されるすべての属性を表す文字列。この要素はオプションで、既定値は空の文字列です。viewName パラメータを指定すると、永続的なビューのビュー属性が使用されます。このときに引数を指定すると、viewName パラメータによって指定された永続的なビューから取得できるすべてのビュー属性よりも、指定した引数が優先されます。この要素はオプションで、既定値は空の文字列であるので、ライブラリ内のすべてのドキュメントを返すには、ViewAttributes 要素を、「<ViewAttributes Scope="Recursive" />」のように使用します。

    このパラメータに対してからの値を渡すには、次のように、空の QueryOptions 要素を含めます。

    <queryOptions xmlns:SOAPSDK9=
          "https://schemas.microsoft.com/sharepoint/soap/" >
       <QueryOptions/>
    </queryOptions>
    
  • webID
    オプション。リストの親 Web サイトの GUID を含む文字列 (波かっこ ({}) で囲みます)。このパラメータを null に設定すると、サービスの Url プロパティによって指定される Web サイトが使用されます。サービスの Url プロパティが指定されていない場合は、ルート Web サイトが使用されます。

戻り値

リスト アイテムの情報を含み、System.Xml.XmlNode オブジェクトに割り当てることができる XML フラグメント。次のような形式になります。

<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 データでは、ページングをサポートする情報が含まれている rs:Data 要素内に、ListItemCollectionPositionNext 属性が指定されています。この文字列には、並べ替えの対象となるフィールドのデータ、およびページングで必要となるその他のアイテムのデータが含まれています。この文字列は内部的に使用されるデータとして考慮する必要があります。この文字列は変更しないでください。変更すると、予期しない結果が発生することがあります。次の例は、ページングをサポートする場合の戻り値の形式を示しています。

<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 オブジェクトを作成します。

この例では、using (Visual C#) または Imports (Visual Basic) ディレクティブが 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);
}

関連項目

参照

Lists クラス
Lists メンバ
websvcLists 名前空間