Lists.UpdateListItems メソッド (websvcLists)

名前空間: websvcLists
アセンブリ: STSSOAP (stssoap.dll 内)

構文

'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/UpdateListItems", RequestNamespace:="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace:="https://schemas.microsoft.com/sharepoint/soap/", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Wrapped)> _
Public Function UpdateListItems ( _
    listName As String, _
    updates As XmlNode _
) As XmlNode
'使用
Dim instance As Lists
Dim listName As String
Dim updates As XmlNode
Dim returnValue As XmlNode

returnValue = instance.UpdateListItems(listName, updates)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/UpdateListItems", RequestNamespace="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="https://schemas.microsoft.com/sharepoint/soap/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)] 
public XmlNode UpdateListItems (
    string listName,
    XmlNode updates
)

パラメータ

  • listName
    リストの名前を含む文字列。リストの GUID を使用することをお勧めします。GUID を使用するときは、波かっこで囲みます (例 : "{GUID}")。ただし、リストの表示名を使用することもできます。
  • updates
    アイテムの追加、変更、削除を目的とした 1 つまたは複数のメソッドを含む Batch 要素。この要素は、System.Xml.XmlNode オブジェクトに割り当てることができます。

    次の例は、指定された 2 つのアイテムの列値を変更する方法を示しています。

    <Batch OnError="Continue" ListVersion="1" 
    ViewName="270C0508-A54F-4387-8AD0-49686D685EB2">
       <Method ID="1" Cmd="Update">
          <Field Name="ID">4<Field>
          <Field Name="Field_Name">Value</Field>
       </Method>
       <Method ID="2" Cmd="Update">
          <Field Name="ID" >6</Field>
          <Field Name="Field_Name">Value</Field>
       </Method>
    </Batch>
    

    Batch 要素の ViewName が空であると、既定のビューが使用されます。各 Method 要素の ID 属性によって、特定の更新が一意に識別されます。このため、エラーや戻り値を正確に特定できます。ポストされる各メソッドは、アイテムの ID およびアイテムの新しいフィールド値を指定する Field 要素を含んでいます。フィールド ID は、リスト アイテムのコレクションに含まれるアイテムのインデックスには対応していません。

    次の例は、Date 値と DateTime 値の両方を含む新しいアイテムを追加するための書式を示しています。

    <Batch OnError="Continue" ListVersion="1" 
    ViewName="270C0508-A54F-4387-8AD0-49686D685EB2">
       <Method ID="1" Cmd="New">
          <Field Name='ID'>New</Field>
          <Field Name="Title">Value</Field>
          <Field Name="Date_Column">2007-3-25</Field>
          <Field Name="Date_Time_Column">
             2006-1-11T09:15:30Z</Field>
       </Method>
    </Batch>
    

    次の例は、2 つのアイテムを削除する方法を示しています。

    <Batch OnError="Continue" ListVersion="1" 
    ViewName="270C0508-A54F-4387-8AD0-49686D685EB2">
       <Method ID="1" Cmd="Delete">
          <Field Name='ID'>2</Field>
       </Method>
       <Method ID="2" Cmd="Delete">
          <Field Name='ID'>8</Field>
       </Method>
    </Batch>
    
    メモメモ :

    削除されたアイテムの ID は、削除操作後も維持されます。したがって、例では、リスト内の 2 番目と 8 番目のアイテムが削除されますが、2 と 8 は他のアイテムの ID として再度割り当てられることはありません。

    このパラメータに渡すことができるフィールドの種類に対して使用されるさまざまな書式の説明については、「SPListItem」を参照してください。

    以下の例は、ドキュメント ライブラリに関連する操作に対してポストできるメソッドを示しています。

    • フォルダの作成

      <Batch OnError="Continue" PreCalc="TRUE" 
      ListVersion="0" 
      ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}">
         <Method ID="1" Cmd="New">
            <Field Name="ID">New</Field>
            <Field Name="FSObjType">1</Field>
            <Field Name="BaseName">Name</Field>
         </Method>
      </Batch>
      
    • フォルダの更新

      <Batch OnError="Continue" PreCalc="TRUE" 
      ListVersion="0" 
      ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}">
         <Method ID="1" Cmd="Update">
            <Field Name="ID">3</Field>
            <Field Name="owshiddenversion">1</Field>
            <Field Name="FileRef">
               https://Server/[sites/][Site/]Shared 
               Documents/Folder</Field>
            <Field Name="FSObjType">1</Field>
            <Field Name="BaseName">Name</Field>
         </Method>
      </Batch>
      
    • フォルダの削除

      <Batch OnError="Continue" PreCalc="TRUE" 
      ListVersion="0" 
      ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}">
         <Method ID="1" Cmd="Delete">
            <Field Name="ID">4</Field>
            <Field Name="FileRef">
               https://Server/[sites/][Site/]Shared 
               Documents/Folder</Field>
         </Method>
      </Batch>
      
    • ドキュメントの更新

      <Batch OnError="Continue" PreCalc="TRUE" 
      ListVersion="0" 
      ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}">
         <Method ID="1" Cmd="Update">
            <Field Name="ID">2</Field>
            <Field Name="owshiddenversion">1</Field>
            <Field Name="FileRef">
               https://Server/[sites/][Site/]Shared 
               Documents/File</Field>
            <Field Name="BaseName">Name</Field>
         </Method>
      </Batch>
      
    • ドキュメントの削除

      <Batch OnError="Continue" PreCalc="TRUE" 
      ListVersion="0" 
      ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}">
         <Method ID="1" Cmd="Delete">
            <Field Name="ID">3</Field>
            <Field Name="FileRef">
               https://Server/[sites/][Site/]Shared 
               Documents/File</Field>
         </Method>
      </Batch>
      

戻り値

updates パラメータを使用してポストされる各メソッド ブロックの状態を示し、System.Xml.XmlNode オブジェクトに割り当てることができる XMLDATA フラグメント。次のような形式になります。アイテムが正常に更新されると、行フラグメントが、更新された行の値と共に返されます。

<Results xmlns="https://schemas.microsoft.com/sharepoint/soap/">
   <Result ID="1,Update">
      <ErrorCode>0x00000000</ErrorCode>
      <z:row ows_ID="4" ows_Title="Title" 
         ows_Modified="2003-06-19 20:31:21" 
         ows_Created="2003-06-18 10:15:58" 
         ows_Author="3;#User1_Display_Name" 
         ows_Editor="7;#User2_Display_Name" ows_owshiddenversion="3" 
         ows_Attachments="-1" 
         ows__ModerationStatus="0" ows_LinkTitleNoMenu="Title" 
         ows_LinkTitle="Title" 
         ows_SelectTitle="4" ows_Order="400.000000000000" 
         ows_GUID="{4962F024-BBA5-4A0B-9EC1-641B731ABFED}" 
         ows_DateColumn="2003-09-04 00:00:00" 
         ows_NumberColumn="791.00000000000000" 
         xmlns:z="#RowsetSchema" />
   </Result>
   <Result ID="2,Update">
      <ErrorCode>0x00000000</ErrorCode>
      <z:row ows_ID="6" ows_Title="Title" 
         ows_Modified="2003-06-19 20:31:22" 
         ows_Created="2003-06-18 19:07:14" 
         ows_Author="2;#User1_Display_Name" 
         ows_Editor="6;#User2_Display_Name" ows_owshiddenversion="4" 
         ows_Attachments="0" ows__ModerationStatus="0" 
         ows_LinkTitleNoMenu="Title" 
         ows_LinkTitle="Title" ows_SelectTitle="6" 
         ows_Order="600.000000000000" 
         ows_GUID="{2E8D2505-98FD-4E3E-BFDA-0C3DEBE483F7}" 
         ows_DateColumn="2003-06-23 00:00:00" 
         ows_NumberColumn="9001.00000000000000" 
         xmlns:z="#RowsetSchema" />
   </Result>
   ...
</Results>

この例では、ows_Author 属性と ows_Editor 属性が、データベース内の他のリストに対するルックアップ フィールドに関連しています。これらの属性は、UserInfo テーブル内にあるアイテムの整数の ID、およびテーブル内のこれらのアイテムに含まれている実際の値を表しています。

次のコード例では、現在のサイト上にあるリストに含まれている 2 つのアイテム内の 2 つの異なるフィールドの値を変更します。この例では、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 strBatch As String = "<Method ID='1' Cmd='Update'>" + _
    "<Field Name='ID'>4</Field>
        <Field Name='Field_Number'>999</Field></Method>" + _
    "<Method ID='2' Cmd='Update'><Field Name='ID' >6</Field>" + _
    "<Field Name='Field_DateTime'>
        2003-11-11T09:15:30Z</Field></Method>"

Dim xmlDoc = New System.Xml.XmlDocument()

Dim elBatch As System.Xml.XmlElement = xmlDoc.CreateElement("Batch")

elBatch.SetAttribute("OnError", "Continue")
elBatch.SetAttribute("ListVersion", "1")
elBatch.SetAttribute("ViewName", 
    "0d7fcacd-1d7c-45bc-bcfc-6d7f7d2eeb40")

elBatch.InnerXml = strBatch

Dim ndReturn As XmlNode = listService.UpdateListItems("List_Name", 
    elBatch)

MessageBox.Show(ndReturn.OuterXml)
Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
listService.Credentials= System.Net.CredentialCache.DefaultCredentials;

string strBatch = "<Method ID='1' Cmd='Update'>" + 
    "<Field Name='ID'>4</Field>" +
    "<Field Name='Field_Number'>999</Field></Method>" +
    "<Method ID='2' Cmd='Update'><Field Name='ID' >6</Field>" +
    "<Field Name='Field_DateTime'>
        2003-11-11T09:15:30Z</Field></Method>"; 

XmlDocument xmlDoc = new System.Xml.XmlDocument();

System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");

elBatch.SetAttribute("OnError","Continue");
elBatch.SetAttribute("ListVersion","1");
elBatch.SetAttribute("ViewName",
    "0d7fcacd-1d7c-45bc-bcfc-6d7f7d2eeb40");

elBatch.InnerXml = strBatch;

XmlNode ndReturn = listService.UpdateListItems("List_Name", elBatch);

MessageBox.Show(ndReturn.OuterXml);

関連項目

参照

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

その他のリソース

[方法] リスト アイテムを更新する