Try this:
DECLARE @iDoc INT
DECLARE @foo as xml
set @foo=N'<workorders>
<workorder>
<rackset>
<rack>SN1</rack>
<rack>SN2</rack>
<rack>SN3</rack>
<rack>SN4</rack>
</rackset>
</workorder>
</workorders>'
EXEC sp_xml_preparedocument @iDoc OUTPUT, @foo
SELECT Racks.value('(Rack)[1]','nvarchar(30)') as Rack1,
Racks.value('(Rack)[2]','nvarchar(30)') as Rack2,
Racks.value('(Rack)[3]','nvarchar(30)') as Rack3,
Racks.value('(Rack)[4]','nvarchar(30)') as Rack4
FROM @foo.nodes('*/*/*') as foo(Racks)
EXEC sp_xml_removedocument @iDoc