projectlist というカスタム リストがあります。このリストを、条件に基づいて Web サービスを介して何らかの値で更新したいと考えています。
このリストを更新するために、msdn サイトから入手した次の手法を使用しました。
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");
elBatch.SetAttribute("OnError", "Continue");
elBatch.SetAttribute("ListVersion", "1");
elBatch.SetAttribute("ViewName", projectlistviewName);
string strBatch = "<Method ID='1' Cmd='Update'>" +
"<Field Name='ID'>" +RowID + "</Field>" +
"<Field Name='ProjectCompletedDate'>ProjectCompletionDatevalue</Field></Method>" +
"<Method ID='1' Cmd='Update'><Field Name='ID' >" +RowID + "</Field>" +
"<Field Name='ProjectDescription'>"Project Description Value"</Field></Method>";
elBatch.InnerXml = strBatch;
XmlNode nreturn = ListReference.UpdateListItems("projectlist", elBatch);
上記の方法は、RoWId に基づいてリスト アイテムを更新しますが、プロジェクト名やステータス フィールドなどのカスタム フィールドに基づいてリスト アイテムを更新するには (ID フィールドを任意のカスタム フィールドに置き換えた場合)、次のエラーが発生します。
「提供された URL には、無効なコマンドまたは値が含まれています。URL をもう一度確認してください。」
私の目的は、projectname="Sharepoint" および Status="Completed" のリスト アイテムを更新することです。