リストを返す
ここでは、Lists Web サービスの GetListCollection メソッドを使用してリストのコレクションを取得しリスト名を表示する、単純な Windows フォームを作成する方法について説明します。
手順
始める前に、「Visual Studio で SharePoint Web サイトのプログラムによるカスタマイズ作業を開始する」で示された Windows アプリケーションを作成します。Windows SharePoint Services の Web サービスへの Web 参照を設定する方法については、「Windows SharePoint Services Web サービスの紹介」を参照してください。
リストのコレクションを表示するコードを追加するには
デザイン ビューで [Form1] を開き、[ツールボックス] を開いて、Label コントロールと Button コントロールをフォームにドラッグします。
[Label1] コントロールを右クリックし、[プロパティ] をクリックして、コントロールの Text プロパティから値 Label1 を削除します。
[Button1] コントロールをダブルクリックしてコード エディタを表示し、Click イベント ハンドラに以下のコードを追加します。
'Declare and initialize a variable for the Lists Web service. Dim myservice As New Web_Reference.Lists() 'Authenticate the current user by passing their default 'credentials to the Web service from the system credential 'cache. myservice.Credentials = System.Net.CredentialCache.DefaultCredentials 'Set the Url property of the service for the path to a subsite. 'Not setting this property will return the lists in the root 'Web site sitelistService.Url = "http://Server_Name/Subsite_Name/_vti_bin/Lists.asmx" 'Declare an XmlNode object and initialize it with the XML 'response from the GetListCollection method. Dim node As System.Xml.XmlNode = myservice.GetListCollection() 'Loop through XML response and parse out the value of the 'Title attribute for each list. Dim xmlnode As System.Xml.XmlNode For Each xmlnode In node label1.Text += xmlnode.Attributes("Title").Value + ControlChars.Lf Next xmlnode
/*Declare and initialize a variable for the Lists Web service.*/ Web_Reference.Lists myservice = new Web_Reference.Lists(); /*Authenticate the current user by passing their default credentials to the Web service from the system credential cache. */ myservice.Credentials = System.Net.CredentialCache.DefaultCredentials; /*Set the Url property of the service for the path to a subsite. Not setting this property will return the lists in the root Web site.*/ listService.Url = "http://Server_Name/Subsite_Name/_vti_bin/Lists.asmx"; /*Declare an XmlNode object and initialize it with the XML response from the GetListCollection method. */ System.Xml.XmlNode node = myservice.GetListCollection(); /*Loop through XML response and parse out the value of the Title attribute for each list. */ foreach(System.Xml.XmlNode xmlnode in node) { label1.Text+=xmlnode.Attributes["Title"].Value + "\n"; }
[デバッグ] メニューの [開始] をクリックして、フォームをテストします。[Button1] をクリックすると、SharePoint サイトにリストが表示されます。