[List.asmx web reference].Lists mylistService = new [List.asmx web reference].Lists(); XPathNavigator nav = this.CreateNavigator(); // Get Column Values string strField1 = (string)nav.SelectSingleNode("[xPath to field1]", this.NamespaceManager).ValueAs(typeof(string)); string strField2 = (string)nav.SelectSingleNode("[xPath to field2]", this.NamespaceManager).ValueAs(typeof(string)); string strField3 = (string)nav.SelectSingleNode("[xPath to field3]", this.NamespaceManager).ValueAs(typeof(string)); XmlDocument xmlDoc = new System.Xml.XmlDocument(); XmlElement elBatch = xmlDoc.CreateElement("Batch"); XmlElement xnQuery = xmlDoc.CreateElement("Query"); string strID; mylistService.Credentials = System.Net.CredentialCache.DefaultCredentials; //Build CAML Query xnQuery.InnerXml = "" + "" + strField1 + "" + "" + strField2 + "" + "" + strField3 + ""; //Query List XmlNode xmlList = mylistService.GetListItems("[SharePoinit List Name]", "", xnQuery, null, "20000", null, ""); //Get Item ID strID = xmlList.InnerXml; int intStart = strID.IndexOf("ows_ID"); string tmpID = strID.Substring(intStart + 8); int intEnd = tmpID.IndexOf("ows"); strID = tmpID.Substring(0, intEnd - 2); //Build Batch Command string strBatch = "" + "" + strID + ""; elBatch.SetAttribute("OnError", "Continue"); elBatch.InnerXml = strBatch; XmlNode ndReturn = mylistService.UpdateListItems("[SharePoint List Name]", elBatch);