//reset all rows on the repeating table XPathNavigator mainDS = MainDataSource.CreateNavigator(); StringBuilder sb = new StringBuilder(); XPathNavigator firstRow = mainDS.SelectSingleNode("/my:myFields/my:updatePartyInfo/my:partyTable/my:group8/my:group9", NamespaceManager); XPathNavigator lastRow = mainDS.SelectSingleNode("/my:myFields/my:updatePartyInfo/my:partyTable/my:group8/my:group9[position() = last()]", NamespaceManager); if (firstRow != null && lastRow != null) firstRow.DeleteRange(lastRow); using (SqlCommand command = connection.CreateCommand()) { //command.CommandText = queryString; command.CommandText = sqlQuery; connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { int count = 1; string my = NamespaceManager.LookupNamespace("my"); string xpath = "/my:myFields/my:updatePartyInfo/my:partyTable/my:group8/my:group9"; XPathNavigator group = MainDataSource.CreateNavigator().SelectSingleNode(xpath, NamespaceManager); while (reader.Read()) { string partyCode = reader["party_code"].ToString(); string rowId = count.ToString(); string contID = reader["event_code"].ToString(); string address = reader["full_addr"].ToString(); sb.Append(""); sb.Append("" + count.ToString() + ""); sb.Append("" + contID + ""); sb.Append("" + partyCode + ""); sb.Append("" + address + ""); sb.Append("" + ""); sb.Append(""); count++; } } connection.Close(); sb = sb.Replace("&", "ampersand;"); MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:updatePartyInfo/my:partyTable/my:group8", NamespaceManager).AppendChild(sb.ToString()); InnerXML example: false