DECLARE @IDList xml;
SET @IDList = '<IDsToSearch><ID>1</ID><ID>5</ID></IDsToSearch>';
SELECT *
FROM Workers
WHERE [WorkerId] IN
(
SELECT ParamValues.ID.value('.', 'INT')
FROM @IDList.nodes('/IdsToSearch/ID') AS ParamValues(ID)
)
Keep in mind that any data type may be passed in and retrieved. For example if names were being passed in then the SELECT statement would look like this:
DECLARE @Names xml;
SET @Names = '<Names><Name>Smith</Name><Name>Jones</Name></Names>';
SELECT *
FROM Workers
WHERE [LastName] IN
(
SELECT ParamValues.Name.value('.', 'NVARCHAR(255)')
FROM @Names.nodes('/Names/Name') AS ParamValues(Name)
)